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过滤危险html代码
Aug 18 PHP
php for 循环语句使用方法详细说明
May 09 PHP
php中去除所有js,html,css代码
Oct 12 PHP
第三章 php操作符与控制结构代码
Dec 30 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
Oct 29 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
Oct 13 PHP
通过PHP简单实例介绍文件上传
Dec 16 PHP
smarty循环嵌套用法示例分析
Jul 19 PHP
thinkPHP的表达式查询用法详解
Sep 14 PHP
Eclipse PHPEclipse 配置的具体步骤
Aug 08 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
Oct 11 PHP
laravel获取不到session的三种解决办法【推荐】
Sep 16 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
用来给图片加水印的PHP类
2008/04/09 PHP
PHP URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
2010/06/09 PHP
php模拟登陆的实现方法分析
2015/01/09 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
JavaScript SHA512&SHA256加密算法详解
2015/08/11 Javascript
javascript函数命名的三种方式及区别介绍
2016/03/22 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
Vue 中使用富文本编译器wangEditor3的方法
2019/09/26 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
vue+Element中table表格实现可编辑(select下拉框)
2020/05/21 Javascript
nuxt 路由、过渡特效、中间件的实现代码
2020/11/06 Javascript
在vue中动态修改css其中一个属性值操作
2020/12/07 Vue.js
[02:51]DOTA2英雄基础教程 艾欧
2014/01/13 DOTA
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
PyCharm 设置SciView工具窗口的方法
2019/01/15 Python
PyQt5创建一个新窗口的实例
2019/06/20 Python
Python远程linux执行命令实现
2020/11/11 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
大学生励志演讲稿
2014/04/25 职场文书
项目建议书模板
2014/05/12 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
信用卡工资证明格式
2014/09/13 职场文书
2014年学校团委工作总结
2014/12/20 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
2015年社区妇联工作总结
2015/04/21 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
关于开学的感想
2015/08/10 职场文书
党章学习心得体会2016
2016/01/14 职场文书