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_Flame(Version:Progress)的原代码
Oct 09 PHP
Dedecms V3.1 生成HTML速度的优化办法
Mar 18 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
PHP编码规范之注释和文件结构说明
Jul 09 PHP
PHP学习笔记之三 数据库基本操作
Jan 17 PHP
php SQL Injection with MySQL
Feb 27 PHP
php防注入,表单提交值转义的实现详解
Jun 10 PHP
PHP中的output_buffering详细介绍
Sep 27 PHP
php生成PDF格式文件并且加密
Jun 22 PHP
PHP getallheaders无法获取自定义头(headers)的问题
Mar 23 PHP
phpinfo无法显示的原因及解决办法
Feb 15 PHP
php生成短网址/短链接原理和用法实例分析
May 29 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/03 PHP
PHP反转字符串函数strrev()函数的用法
2012/02/04 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
PHP ADODB实现分页功能简单示例
2018/05/25 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
js 日期转换成中文格式的函数
2009/07/07 Javascript
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
一个简单的弹性返回顶部JS代码实现介绍
2013/06/09 Javascript
document.write()及其输出内容的样式、位置控制
2013/08/12 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
js实现文字滚动效果
2016/03/03 Javascript
详解jQuery中的empty、remove和detach
2016/04/11 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
Vue路由切换时的左滑和右滑效果示例
2018/05/29 Javascript
VUE项目axios请求头更改Content-Type操作
2020/07/24 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
Python修改Excel数据的实例代码
2013/11/01 Python
Python实现栈的方法
2015/05/26 Python
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
Python 实现网页自动截图的示例讲解
2018/05/17 Python
python基于SMTP协议发送邮件
2019/05/31 Python
django 中QuerySet特性功能详解
2019/07/25 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
2014年大学生四年规划书范文
2014/04/03 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
个人总结与自我评价
2015/02/14 职场文书
升学宴家长致辞
2015/07/27 职场文书
Python办公自动化解决world文件批量转换
2021/09/15 Python
Python 数据结构之十大经典排序算法一文通关
2021/10/16 Python