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初学者头疼问题总结
Jul 08 PHP
在数据量大(超过10万)的情况下
Jan 15 PHP
php 无限分类的树类代码
Dec 03 PHP
基于pear auth实现登录验证
Feb 26 PHP
关于UEditor编辑器远程图片上传失败的解决办法
Aug 31 PHP
php导出word格式数据的代码实例
Nov 25 PHP
PHP COOKIE及时生效的方法介绍
Feb 14 PHP
php获取当月最后一天函数分享
Feb 02 PHP
在Mac上编译安装PHP7的开发环境
Jul 28 PHP
详解PHP的Yii框架中扩展的安装与使用
Apr 01 PHP
PHP中类的继承和用法实例分析
May 24 PHP
Laravel学习教程之View模块详解
Sep 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
php动态生成JavaScript代码
2009/03/09 PHP
对PHP新手的一些建议(PHP学习经验总结)
2014/08/20 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
使用正则替换变量
2007/05/05 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
layui导航栏实现代码
2017/05/19 Javascript
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
vue-router命名视图的使用讲解
2019/01/19 Javascript
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
Python中列表(list)操作方法汇总
2014/08/18 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
对python当中不在本路径的py文件的引用详解
2018/12/15 Python
python爬虫之遍历单个域名
2019/11/20 Python
python实现小世界网络生成
2019/11/21 Python
python实现飞行棋游戏
2020/02/05 Python
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
美国在线印刷公司:PsPrint
2017/10/12 全球购物
德国帽子专家:Hutshopping
2019/11/03 全球购物
机关工会开展学习雷锋活动总结
2014/03/01 职场文书
销售目标责任书
2014/07/23 职场文书
我们的节日春节活动方案
2014/08/22 职场文书
销售活动策划方案
2014/08/26 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书
如何写好开幕词?
2019/06/24 职场文书
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python
python_tkinter弹出对话框创建
2022/03/20 Python
MySQL 数据库范式化设计理论
2022/04/22 MySQL
Redis主从复制操作和配置详情
2022/09/23 Redis