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 相关文章推荐
php快速url重写更新版[需php 5.30以上]
Apr 25 PHP
PHP跨时区(UTC时间)应用解决方案
Jan 11 PHP
php sybase_fetch_array使用方法
Apr 15 PHP
PHP 实现代码复用的一个方法 traits新特性
Feb 22 PHP
php使用Jpgraph绘制3D饼状图的方法
Jun 10 PHP
php简单实现sql防注入的方法
Apr 22 PHP
PHP如何实现跨域
May 30 PHP
PHP中include和require的区别实例分析
May 07 PHP
Windows平台实现PHP连接SQL Server2008的方法
Jul 26 PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
Aug 24 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
php smarty函数扩展
2010/03/15 PHP
初学PHP的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
php中magic_quotes_gpc对unserialize的影响分析
2014/12/16 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
php curl 获取https请求的2种方法
2015/04/27 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
js选取多个或单个元素的实现代码(用class)
2012/08/22 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
2013/06/24 Javascript
js处理php输出时间戳对不上号的解决方法
2014/06/20 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
深入解析桶排序算法及Node.js上JavaScript的代码实现
2016/07/06 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
webpack入门必知必会
2017/01/16 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
JS使用Date对象实时显示当前系统时间简单示例
2018/08/23 Javascript
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
Python中类的继承代码实例
2014/10/28 Python
Python中的推导式使用详解
2015/06/03 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
2017/09/26 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
Python使用docx模块实现刷题功能代码
2020/02/13 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
墨尔本照明批发商店:Mica Lighting
2017/12/28 全球购物
怎么样写好简历中的自我评价
2013/10/25 职场文书
建筑项目策划书
2014/01/13 职场文书
大学生毕业自我鉴定范文
2014/02/03 职场文书
好人好事事迹材料
2014/02/12 职场文书
标准的毕业生自荐信
2014/04/20 职场文书
主题党日活动总结
2014/07/08 职场文书
电子商务实训报告总结
2014/11/05 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript
如何用python识别滑块验证码中的缺口
2021/04/01 Python
python画条形图的具体代码
2022/04/20 Python