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 相关文章推荐
检查url链接是否已经有参数的php代码 添加 ? 或 &
Feb 09 PHP
php 多关键字 高亮显示实现代码
Apr 23 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
Apr 08 PHP
PHP面向对象程序设计之类常量用法实例
Aug 20 PHP
在Win7 中为php扩展配置Xcache
Oct 08 PHP
PHP中构造函数和析构函数解析
Oct 10 PHP
php中spl_autoload详解
Oct 17 PHP
php技巧小结【推荐】
Jan 19 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
Sep 15 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
Jun 03 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
Feb 26 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
在mysql数据库原有字段后增加新内容
2009/11/26 PHP
PHP检测用户语言的方法
2015/06/15 PHP
css图片自适应大小
2007/11/28 Javascript
基于JQuery.timer插件实现一个计时器
2010/04/25 Javascript
一个关于jqGrid使用的小例子(行按钮)
2011/11/04 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
VueX模块的具体使用(小白教程)
2020/06/05 Javascript
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python读取csv文件示例(python操作csv)
2014/03/11 Python
Python3实现从文件中读取指定行的方法
2015/05/22 Python
Python监控主机是否存活并以邮件报警
2015/09/22 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
Python中协程用法代码详解
2018/02/10 Python
python 用lambda函数替换for循环的方法
2018/06/09 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
2018/10/11 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
Python实现手绘图效果实例分享
2020/07/22 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
欧缇丽英国官方网站:Caudalie英国
2016/08/17 全球购物
英国最大的奢侈品零售网络商城:Flannels
2016/09/16 全球购物
.net笔试题
2014/03/03 面试题
宣传活动总结范文
2014/07/01 职场文书
捐资助学感谢信
2015/01/21 职场文书
比赛主持人开场白
2015/05/29 职场文书
创业计划书之面包店
2019/09/12 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server