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 相关文章推荐
多文件上传的例子
Oct 09 PHP
分页详解 从此分页无忧(PHP+mysql)
Nov 23 PHP
php xml实例 留言本
Mar 20 PHP
PHP OPCode缓存 APC详细介绍
Oct 12 PHP
PHP中使用GD库创建圆形饼图的例子
Nov 19 PHP
php数组键名技巧小结
Feb 17 PHP
php实现递归的三种基本方式
Jul 04 PHP
php获取汉字拼音首字母的方法
Oct 21 PHP
PHP的Yii框架的常用日志操作总结
Dec 08 PHP
PHP实现的统计数据功能详解
Dec 06 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 PHP
php无限级分类实现评论及回复功能
Feb 18 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
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
php PDO异常处理详解
2016/11/20 PHP
PHP 类与构造函数解析
2017/02/06 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
有关DOM元素与事件的3个谜题
2010/11/11 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
跟我学习javascript的基本类型和引用类型
2015/11/16 Javascript
javascript鼠标右键菜单自定义效果
2020/12/08 Javascript
jQuery基于muipicker实现仿ios时间选择
2016/02/22 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
2016/10/11 Javascript
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
2017/07/23 Javascript
详解webpack中的hash、chunkhash、contenthash区别
2018/01/05 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
微信小程序实现左滑修改、删除功能
2020/10/19 Javascript
js canvas实现橡皮擦效果
2018/12/20 Javascript
js实现树形数据转成扁平数据的方法示例
2020/02/27 Javascript
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
python实现从字典中删除元素的方法
2015/05/04 Python
Python正则表达式知识汇总
2017/09/22 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
Falsk 与 Django 过滤器的使用与区别详解
2019/06/04 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
CSS3中线性颜色渐变的一些实现方法
2015/07/14 HTML / CSS
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
高中教师个人总结
2015/02/10 职场文书
市场总监岗位职责
2015/02/11 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python