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 相关文章推荐
ezSQL PHP数据库操作类库
May 16 PHP
Zend的MVC机制使用分析(二)
May 02 PHP
控制PHP的输出:缓存并压缩动态页面
Jun 11 PHP
PHP中使用file_get_contents post数据代码例子
Feb 13 PHP
解决yii2左侧菜单子级无法高亮问题的方法
May 08 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
Jun 13 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
Jun 13 PHP
CakePHP框架Session设置方法分析
Feb 23 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
PHP使用XMLWriter读写xml文件操作详解
Jul 31 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
Oct 11 PHP
thinkphp5框架路由原理与用法详解
Feb 11 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
建立文件交换功能的脚本(三)
2006/10/09 PHP
php下MYSQL limit的优化
2008/01/10 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
javascript中创建对象的三种常用方法
2010/12/30 Javascript
javascript setinterval 的正确语法如何书写
2014/06/17 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
获取IE浏览器Cookie信息的方法
2017/01/23 Javascript
自定义事件解决重复请求BUG的问题
2017/07/11 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
2018/12/03 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
Python中函数的用法实例教程
2014/09/08 Python
Python使用MySQLdb for Python操作数据库教程
2014/10/11 Python
python有证书的加密解密实现方法
2014/11/19 Python
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
python3设计模式之简单工厂模式
2017/10/17 Python
python编程线性回归代码示例
2017/12/07 Python
Python使用Matplotlib实现雨点图动画效果的方法
2017/12/23 Python
Python按钮的响应事件详解
2019/03/04 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
拥有超过850家商店的美国在线派对商店:Party City
2018/10/21 全球购物
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
super关键字的用法
2012/04/10 面试题
一套Delphi的笔试题一
2016/02/14 面试题
英文自我鉴定
2013/12/10 职场文书
两只小狮子教学反思
2014/02/05 职场文书
电力安全事故反思
2014/04/27 职场文书
质量保证书范本
2014/04/29 职场文书
团队精神口号
2014/06/06 职场文书
建筑施工安全生产责任书
2014/07/22 职场文书
药品开票员岗位职责
2015/04/15 职场文书
党支部半年考察意见
2015/06/01 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书