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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(2)
Oct 09 PHP
介绍一些PHP判断变量的函数
Apr 24 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 PHP
php遍历CSV类实例
Apr 14 PHP
PHP里的单例类写法实例
Jun 25 PHP
适用于初学者的简易PHP文件上传类
Oct 29 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
Nov 14 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
Nov 20 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
Mar 14 PHP
PHP判断当前使用的是什么浏览器(推荐)
Oct 27 PHP
Yii框架学习笔记之应用组件操作示例
Nov 13 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常用代码大全(新手入门必备)
2010/06/29 PHP
php生成唯一的订单函数分享
2015/02/02 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
2016/01/14 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
PHP中的自动加载操作实现方法详解
2019/08/06 PHP
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
jQuery插件开发全解析
2012/10/10 Javascript
jQuery is()函数用法3例
2014/05/06 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
2016/07/18 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
vue实现通讯录功能
2018/07/14 Javascript
微信小程序绘制图片发送朋友圈
2019/07/25 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
vue.js封装switch开关组件的操作
2020/10/26 Javascript
python pyinstaller 加载ui路径方法
2019/06/10 Python
python实现邮件自动发送
2019/08/10 Python
如何基于windows实现python定时爬虫
2020/05/01 Python
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
工程专业毕业生自荐信范文
2013/12/25 职场文书
顶岗实习接收函
2014/01/09 职场文书
超市开学活动方案
2014/03/01 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
2014年国庆节演讲稿
2014/09/19 职场文书
自查自纠工作情况报告
2014/10/29 职场文书
2015年工商所工作总结
2015/05/21 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
Redis三种集群模式详解
2021/10/05 Redis
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL