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 eval函数用法总结
Oct 31 PHP
joomla jce editor 解决上传中文名文件失败问题
Jun 09 PHP
PHP使用正则表达式清除超链接文本
Nov 12 PHP
PHP使用json_encode函数时不转义中文的解决方法
Nov 12 PHP
smarty自定义函数htmlcheckboxes用法实例
Jan 22 PHP
PHP6新特性分析
Mar 03 PHP
浅谈php中fopen不能创建中文文件名文件的问题
Feb 06 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
Sep 07 PHP
PHP JWT初识及其简单示例
Oct 10 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
Oct 16 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 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获取和操作配置文件php.ini的几个函数介绍
2013/06/24 PHP
Yii实现多数据库主从读写分离的方法
2014/12/29 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
2015/12/10 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
checkbox 复选框不能为空
2009/07/11 Javascript
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
js输入框邮箱自动提示功能代码实现
2013/12/10 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
jQuery中大家不太了解的几个方法
2015/03/04 Javascript
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
基于jQuery实现的QQ表情插件
2015/08/25 Javascript
jQuery实现标题有打字效果的焦点图代码
2015/11/16 Javascript
Angularjs中使用轮播图指令swiper
2017/05/30 Javascript
详解如何让Express支持async/await
2017/10/09 Javascript
移动web开发之touch事件实例详解
2018/01/17 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
深入学习JavaScript 高阶函数
2019/06/11 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
Python中关键字nonlocal和global的声明与解析
2017/03/12 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
python 两个数据库postgresql对比
2019/10/21 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
销售找工作求职信
2013/12/20 职场文书
建筑结构施工专业推荐信
2014/02/21 职场文书
实习单位鉴定评语
2014/04/26 职场文书
男性健康日的活动方案
2014/08/18 职场文书
四风问题对照检查材料
2014/09/22 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
投诉书格式范本
2015/07/02 职场文书
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android