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的5个入手程序
Nov 23 PHP
php桌面中心(一) 创建数据库
Mar 11 PHP
php zlib压缩和解压缩swf文件的代码
Dec 30 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
Nov 30 PHP
php中批量修改文件后缀名的函数代码
Oct 23 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
PHP中加密解密函数与DES加密解密实例
Oct 17 PHP
PHP使用mkdir创建多级目录的方法
Dec 22 PHP
使用php实现从身份证中提取生日
May 09 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
Sep 16 PHP
详解PHP 二维数组排序保持键名不变
Mar 06 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 isset()与empty()的使用区别详解
2010/08/29 PHP
php中过滤非法字符的具体实现
2013/10/29 PHP
php中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
Vue.js开发环境搭建
2016/11/10 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
使用jQuery实现动态添加小广告
2017/07/11 jQuery
Angularjs的启动过程分析
2017/07/18 Javascript
详解VueJs中的V-bind指令
2018/05/03 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
手动实现vue2.0的双向数据绑定原理详解
2021/02/06 Vue.js
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
opencv python 2D直方图的示例代码
2018/07/20 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
python3.8 微信发送服务器监控报警消息代码实现
2019/11/05 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
canvas学习总结三之绘制路径-线段
2019/01/31 HTML / CSS
后勤岗位职责
2013/11/26 职场文书
同学聚会欢迎辞
2014/01/14 职场文书
个性发展自我评价
2014/02/11 职场文书
模特职业生涯规划范文
2014/02/26 职场文书
优秀团员事迹材料
2014/12/25 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
养成教育主题班会
2015/08/13 职场文书
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers
Python编程中内置的NotImplemented类型的用法
2022/03/23 Python