ThinkPHP的截取字符串函数无法显示省略号的解决方法


Posted in PHP onJune 25, 2014

对于ThinkPHP的截取字符串函数无法显示省略号的情况,解决方法如下:
打开Common/extend.php页面,修改msubstr函数如下:

function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
{
  if(function_exists("mb_substr")) {
   if($suffix)
  {
     if($str==mb_substr($str, $start, $length, $charset)) 
     {
      return mb_substr($str, $start, $length, $charset); 
     }
     else
     {
      return mb_substr($str, $start, $length, $charset)."..."; 
     } 
 }
    else 
 {
   return mb_substr($str, $start, $length, $charset);
  }
  }
  elseif(function_exists('iconv_substr')) {
   if($suffix)
  {
     if($str==iconv_substr($str,$start,$length,$charset)) 
     {
      return iconv_substr($str,$start,$length,$charset); 
     }
     else
     {
      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;
}
PHP 相关文章推荐
php5 pdo新改动加载注意事项
Sep 11 PHP
php正则表达式(regar expression)
Sep 10 PHP
php连接mssql的一些相关经验及注意事项
Feb 05 PHP
php生成excel列序号代码实例
Dec 24 PHP
php读取csv文件并输出的方法
Mar 14 PHP
微信公众号开发之文本消息自动回复php代码
Aug 08 PHP
PHP抓取远程图片(含不带后缀的)教程详解
Oct 21 PHP
Laravel框架在本地虚拟机快速安装的方法详解
Jun 11 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
Thinkphp 5.0实现微信企业付款到零钱
Sep 30 PHP
PHP的mysqli_set_charset()函数讲解
Jan 23 PHP
PHP INT类型在内存中占字节详解
Jul 20 PHP
ThinkPHP多表联合查询的常用方法
Mar 24 #PHP
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
Jun 25 #PHP
ThinkPHP查询中的魔术方法简述
Jun 25 #PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 #PHP
Zend Framework页面缓存实例
Jun 25 #PHP
非常好用的Zend Framework分页类
Jun 25 #PHP
PHP生成等比缩略图类和自定义函数分享
Jun 25 #PHP
You might like
YB217、YB235、YB400浅听
2021/03/02 无线电
简单实用的.net DataTable导出Execl
2013/10/28 PHP
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
13 个JavaScript 性能提升技巧分享
2012/07/26 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
jQuery实现手机版页面翻页效果的简单实例
2016/10/05 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
2016/10/29 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
bootstrap模态框远程示例代码分享
2017/05/22 Javascript
详解vue表单——小白速看
2018/04/08 Javascript
Javascript中绑定click事件的四种方式介绍
2018/10/26 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
js判断一个对象是数组(函数)的方法实例
2019/12/19 Javascript
vue如何实现动态加载脚本
2020/02/05 Javascript
Python open读写文件实现脚本
2008/09/06 Python
Python中static相关知识小结
2018/01/02 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
2018/10/09 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
详解如何设置Python环境变量?
2019/05/13 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
浅析使用Python搭建http服务器
2019/10/27 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
哈萨克斯坦移动和数字技术在线商店:SatelOnline.kz
2020/09/04 全球购物
面料业务员岗位职责
2013/12/26 职场文书
妇女儿童发展规划实施方案
2014/03/16 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
个人专业技术总结
2015/03/05 职场文书
小程序实现文字循环滚动动画
2021/06/14 Javascript
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js