THINKPHP截取中文字符串函数实例代码

 更新时间:2017年03月20日 17:02:52   作者:逐风  
在项目开发中,我们常常会遇到英文、中文等字符串截取问题,比如说新闻列表页面需要新闻内容简介,这就要用到字符串截取了。

在项目开发中,我们常常会遇到英文、中文等字符串截取问题,比如说新闻列表页面需要新闻内容简介,这就要用到字符串截取了。

下面就为大家分享一个THINKPHP中已经准备好的字符串截取函数。

# 函数解释:
msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)
/*
$str:要截取的字符串
$start=0:开始位置,默认从0开始
$length:截取长度
$charset=”utf-8″:字符编码,默认UTF-8
$suffix=true:是否在截取后的字符后面显示省略号,默认true显示,false为不显示
*/

模版使用:

{$vo.title|msubstr=0,5,'utf-8',false}

Ps:若是核心版的可能不存在该函数,不用怕,逐风把代码给大家贴出来:

function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) 
{ 
 if(function_exists("mb_substr")){ 
 if($suffix) 
  return mb_substr($str, $start, $length, $charset)."..."; 
 else
  return mb_substr($str, $start, $length, $charset); 
 } 
 elseif(function_exists('iconv_substr')) { 
 if($suffix) 
  return iconv_substr($str,$start,$length,$charset)."..."; 
 else
  return iconv_substr($str,$start,$length,$charset); 
 } 
 $re['utf-8'] = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/"; 
 $re['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/"; 
 $re['gbk']  = "/[x01-x7f]|[x81-xfe][x40-xfe]/"; 
 $re['big5']  = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/"; 
 preg_match_all($re[$charset], $str, $match); 
 $slice = join("",array_slice($match[0], $start, $length)); 
 if($suffix) return $slice."…"; 
 return $slice;
}

以上所述是小编给大家介绍的THINKPHP截取中文字符串函数实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • php 三维饼图的实现代码

    php 三维饼图的实现代码

    一直想发表点东西。最近刚把php4中的php_gd.dll搞定,就迫不及待的想做点图形程序玩玩。看到有许多php做饼图的例子,看了一下都是2维的,于是就想做个3维的。
    2008-09-09
  • php反引号与短标签脚本示例

    php反引号与短标签脚本示例

    这篇文章主要为大家介绍了php反引号与短标签的脚本示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • 合并ThinkPHP配置文件以消除代码冗余的实现方法

    合并ThinkPHP配置文件以消除代码冗余的实现方法

    这篇文章主要介绍了合并ThinkPHP配置文件以消除代码冗余的实现方法,非常实用的技巧,需要的朋友可以参考下
    2014-07-07
  • Laravel框架控制器,视图及模型操作图文详解

    Laravel框架控制器,视图及模型操作图文详解

    这篇文章主要介绍了Laravel框架控制器,视图及模型操作,结合实例形式详细分析了laravel框架控制器,视图及模型的基本功能、原理与相关操作使用技巧,需要的朋友可以参考下
    2019-12-12
  • laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析

    laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析

    这篇文章主要介绍了laravel框架路由分组,中间件,命名空间,子域名,路由前缀,结合实例形式分析了laravel框架路由分组,中间件,命名空间,子域名,路由前缀相关概念、原理与基本使用方法,需要的朋友可以参考下
    2020-02-02
  • PHP通过API获取手机号码归属地

    PHP通过API获取手机号码归属地

    本API支持1、可输入11位手机号查询归属地如:13858861234,2、可输入7位号段查询归属地如:1335586,3、支持号段 13、14、15、17、18,有需要的小伙伴可以参考下。
    2015-05-05
  • Laravel学习教程之View模块详解

    Laravel学习教程之View模块详解

    这篇文章主要给大家介绍了关于Laravel学习教程之View模块的相关资料,文中通过示例代码将View模块介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • 检测codeigniter脚本消耗内存情况的方法

    检测codeigniter脚本消耗内存情况的方法

    这篇文章主要介绍了检测codeigniter脚本消耗内存情况的方法,实例分析了codeigniter中memory_usage方法及{ memory_usage}伪变量的使用技巧,需要的朋友可以参考下
    2015-03-03
  • thinkPHP5框架导出Excel文件简单操作示例

    thinkPHP5框架导出Excel文件简单操作示例

    这篇文章主要介绍了thinkPHP5框架导出Excel文件简单操作,结合实例形式分析了thinkPHP5框架安装及使用PHPExcel插件实现导出Excel格式文件的相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • PHP连接access数据库

    PHP连接access数据库

    本文给大家介绍的是在php中使用ADO来链接ACCESS数据库的方法的示例,非常的的简单使用,推荐给有需要的小伙伴们参考下。
    2015-03-03

最新评论