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 相关文章推荐
Excel数据导入Mysql数据库的实现代码
Jun 05 PHP
PHP Smarty生成EXCEL文档的代码
Aug 23 PHP
php URL编码解码函数代码
Mar 10 PHP
php面向对象 字段的声明与使用
Jun 14 PHP
php并发对MYSQL造成压力的解决方法
Feb 21 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
Jun 19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 PHP
PHP 7的一些引人注目的新特性简单介绍
Nov 08 PHP
PHP统计目录中文件以及目录中目录大小的方法
Jan 09 PHP
php文档工具PHP Documentor安装与使用方法
Jan 25 PHP
PHP封装的mysqli数据库操作类示例
Feb 16 PHP
laravel Model 执行事务的实现
Oct 10 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
ajax与302响应代码测试
2013/10/23 Javascript
jquery放大镜效果超漂亮噢
2013/11/15 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
Jquery网页内滑动缓冲导航的实现代码
2015/04/05 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
2016/04/28 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
tab栏切换原理
2017/03/22 Javascript
JavaScript数组_动力节点Java学院整理
2017/06/26 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
VuePress 快速踩坑小结
2019/02/14 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
VUE中使用HTTP库Axios方法详解
2020/02/05 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
Python subprocess模块学习总结
2014/03/13 Python
利用numpy+matplotlib绘图的基本操作教程
2017/05/03 Python
Python编程求解二叉树中和为某一值的路径代码示例
2018/01/04 Python
深入浅析Python 函数注解与匿名函数
2020/02/24 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
python 解决Fatal error in launcher:错误问题
2020/05/21 Python
浅析Python中字符串的intern机制
2020/10/03 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
机关门卫岗位职责
2013/12/30 职场文书
《画》教学反思
2014/04/14 职场文书
个人担保书格式范文
2014/05/12 职场文书
走群众路线学习心得体会
2014/10/31 职场文书
法院答辩状格式
2015/05/22 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书