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


Posted in PHP onMarch 20, 2017

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

下面就为大家分享一个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 实现多服务器共享 SESSION 数据
Aug 15 PHP
php的POSIX 函数以及进程测试的深入分析
Jun 03 PHP
解析php中如何直接执行SHELL
Jun 28 PHP
php实现统计目录文件大小的函数
Dec 25 PHP
php英文单词统计器
Jun 23 PHP
php生成与读取excel文件
Oct 14 PHP
php arsort 数组降序排序详细介绍
Nov 17 PHP
PHP使用strrev翻转中文乱码问题的解决方法
Jan 13 PHP
PHP 文件锁与进程锁的使用示例
Aug 07 PHP
PHP通过get方法获得form表单数据方法总结
Sep 12 PHP
laravel 自定义常量的两种方案
Oct 14 PHP
关于laravel5.5的定时任务详解(demo)
Oct 23 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
Mar 19 #PHP
php中通过eval实现字符串格式的计算公式
Mar 18 #PHP
CodeIgniter框架验证码类库文件与用法示例
Mar 18 #PHP
YII框架批量插入数据的方法
Mar 18 #PHP
thinkPHP5.0框架URL访问方法详解
Mar 18 #PHP
thinkPHP5.0框架模块设计详解
Mar 18 #PHP
thinkPHP5.0框架命名空间详解
Mar 18 #PHP
You might like
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
2016/04/22 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
JS获取dom 对象 ajax操作 读写cookie函数
2009/11/18 Javascript
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
一个js导致的jquery失效问题的解决方法
2013/11/27 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
详解浏览器渲染页面过程
2017/02/09 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
vue选项卡切换登录方式小案例
2019/09/27 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
[00:43]TI7不朽珍藏III——幽鬼不朽展示
2017/07/15 DOTA
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
windows下安装python paramiko模块的代码
2013/02/10 Python
Python文件夹与文件的操作实现代码
2014/07/13 Python
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
PyQt5每天必学之拖放事件
2020/08/27 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
python-str,list,set间的转换实例
2018/06/27 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
python isinstance函数用法详解
2020/02/13 Python
Python解析微信dat文件的方法
2020/11/30 Python
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
党校培训自我鉴定范文
2014/04/10 职场文书
建筑安全责任书范本
2014/07/24 职场文书
个人三严三实对照检查材料思想汇报
2014/09/22 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
教师党员自我评价2015
2015/03/04 职场文书
赞助商致辞
2015/07/30 职场文书
安全教育培训制度
2015/08/06 职场文书
《月球之谜》教学反思
2016/02/20 职场文书
使用feign服务调用添加Header参数
2021/06/23 Java/Android