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将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
PHP开发不能违背的安全规则 过滤用户输入
May 01 PHP
Array of country list in PHP with Zend Framework
Oct 17 PHP
zend framework配置操作数据库实例分析
Dec 06 PHP
6种php上传图片重命名的方法实例
Nov 04 PHP
PHP函数extension_loaded()用法实例
Jan 19 PHP
Codeigniter的dom类用法实例
Jun 26 PHP
php中array_slice和array_splice函数解析
Oct 18 PHP
PHP连接MySQL进行增、删、改、查操作
Feb 19 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
Jun 07 PHP
php curl上传、下载、https登陆实现代码
Jul 23 PHP
PHP中创建和编辑Excel表格的方法
Sep 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
初学者入门:细述PHP4的核心Zend
2006/09/05 PHP
PHP实现的简易版图片相似度比较
2015/01/07 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
jquery放大镜效果超漂亮噢
2013/11/15 Javascript
JQuery中dataGrid设置行的高度示例代码
2014/01/03 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
再次谈论Javascript中的this
2016/06/23 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
2017/03/09 Javascript
Vue表单验证插件Vue Validator使用方法详解
2017/04/07 Javascript
jQuery选择器之属性筛选选择器用法详解
2017/09/19 jQuery
Bootstrap4如何定制自己的颜色和风格
2018/02/26 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
js点击事件的执行过程实例分析【冒泡与捕获】
2020/04/11 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
[47:42]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
python使用wxpython开发简单记事本的方法
2015/05/20 Python
Python批量提取PDF文件中文本的脚本
2018/03/14 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
Python绘制热力图示例
2019/09/27 Python
使用Python实现牛顿法求极值
2020/02/10 Python
完美解决pycharm 不显示代码提示问题
2020/06/02 Python
python中取绝对值简单方法总结
2020/07/24 Python
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
大学生应聘自荐信
2013/10/11 职场文书
电脑教师的教学自我评价
2013/11/26 职场文书
青年文明号口号
2014/06/17 职场文书
python playwright之元素定位示例详解
2022/07/23 Python