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 cookie 登录验证示例代码
Mar 16 PHP
通过具体程序来理解PHP里面的抽象类
Jan 28 PHP
php下目前为目最全的CURL中文说明
Aug 01 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
Dec 19 PHP
php写的简易聊天室代码
Jun 04 PHP
php实现汉字验证码和算式验证码的方法
Mar 07 PHP
ThinkPHP的SAE开发相关注意事项详解
Oct 09 PHP
PHP实现支付宝即时到账功能
Dec 21 PHP
php中实现字符串翻转的方法
Feb 22 PHP
PHP数据库操作三:redis用法分析
Aug 16 PHP
PHP实现一个轻量级容器的方法
Jan 28 PHP
详解PHP队列的实现
Mar 14 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 操作excel文件的方法小结
2009/12/31 PHP
PHP中的integer类型使用分析
2010/07/27 PHP
PHP中如何定义和使用常量
2013/02/28 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
js中获取事件对象的方法小结
2011/03/13 Javascript
jquery图片倾斜层叠切换特效代码分享
2015/08/27 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
如何把vuejs打包出来的文件整合到springboot里
2018/07/26 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
vue 验证两次输入的密码是否一致的方法示例
2020/09/29 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
使用python绘制人人网好友关系图示例
2014/04/01 Python
Python 处理数据的实例详解
2017/08/10 Python
Python学习pygal绘制线图代码分享
2017/12/09 Python
python中sys.argv函数精简概括
2018/07/08 Python
python hbase读取数据发送kafka的方法
2018/12/27 Python
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
python两个list[]相加的实现方法
2020/09/23 Python
护士实习自我鉴定
2013/10/22 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
暑期培训随笔感言
2014/03/10 职场文书
2015年前台文员工作总结
2015/05/18 职场文书
党支部评议意见
2015/06/02 职场文书
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android