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中GET变量的使用
Oct 09 PHP
php字符串截取问题
Nov 28 PHP
php中看实例学正则表达式
Dec 25 PHP
使用apache模块rewrite_module (转)
Feb 14 PHP
应用开发中涉及到的css和php笔记分享
Aug 02 PHP
ajax取消挂起请求的处理方法
Mar 18 PHP
PHP在不同页面间传递Json数据示例代码
Jun 08 PHP
CodeIgniter框架中_remap()使用方法2例
Mar 10 PHP
PHP中ini_set与ini_get用法实例
Nov 04 PHP
php仿微信红包分配算法的实现方法
May 13 PHP
Yii框架实现的验证码、登录及退出功能示例
May 20 PHP
PHP获取当前系统时间的方法小结
Oct 03 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的PSR规范中文版
2013/09/28 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
2014/12/17 PHP
Javascript 更新 JavaScript 数组的 uniq 方法
2008/01/23 Javascript
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
服务器端的JavaScript脚本 Node.js 使用入门
2012/03/07 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
2013/01/17 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
js 高效去除数组重复元素示例代码
2013/12/19 Javascript
基于jQuery实现仿淘宝套餐选择插件
2015/03/04 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
微信小程序动态的加载数据实例代码
2017/04/14 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
Vue引入jquery实现平滑滚动到指定位置
2018/05/09 jQuery
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
[52:52]完美世界DOTA2联赛PWL S3 LBZS vs access 第一场 12.10
2020/12/13 DOTA
在Linux中通过Python脚本访问mdb数据库的方法
2015/05/06 Python
python获取各操作系统硬件信息的方法
2015/06/03 Python
在Django的上下文中设置变量的方法
2015/07/20 Python
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
python 多线程将大文件分开下载后在合并的实例
2018/11/09 Python
对Python w和w+权限的区别详解
2019/01/23 Python
在Django下创建项目以及设置settings.py教程
2019/12/03 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
Python的scikit-image模块实例讲解
2020/12/30 Python
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
物业管理公司实习生自我鉴定
2013/09/19 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
大学生实习证明范本
2014/09/19 职场文书
2019秋季运动会口号
2019/06/25 职场文书
opencv-python图像配准(匹配和叠加)的实现
2021/06/23 Python
Javascript 解构赋值详情
2021/11/17 Javascript