ThinkPHP有一个内置字符截取函数msubstr()如下:

msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)
$str:要截取的字符串
$start=0:开始位置,默认从0开始
$length:截取长度
$charset=”utf-8″:字符编码,默认UTF-8
$suffix=true:是否在截取后的字符后面显示省略号,默认true显示,false为不显示 

在function.php定义msubstr函数

function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true){if(function_exists("mb_substr")){if($suffix){return mb_substr($str, $start, $length, $charset)."...";}else{return mb_substr($str, $start, $length, $charset);}}elseif(function_exists('iconv_substr')) {if($suffix){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."...";}else{return $slice;}
}

调用该函数:

{$vo['title']|msubstr=5,5,'utf-8',false}

本文地址:http://liuyanzhao.com/3562.html

转载请注明

ThinkPHP截取部分文章文字、字符串相关推荐

  1. mysql截取前几个字符串_mysql中截取指定字符前后的字符串

    使用SUBSTRING_INDEX()函数 substring_index(str,delim,count) str:要处理的字符串 delim:分隔符 count:分隔符计数 例子 取出上述表中数组 ...

  2. 把数据库中有关枚举项值的数字字符串转换成文字字符串

    原文:把数据库中有关枚举项值的数字字符串转换成文字字符串 标题可能无法表达我的本意.比如,有这样一个枚举: public enum MyChoice { MyFirstChoice = 0, MySe ...

  3. asp.net截取指定长度的字符串内容

    1 /// <summary> 2 /// 用于截取指定长度的字符串内容 3 /// </summary> 4 /// <param name="sString ...

  4. python中英文字符和中文字符存储长度不同_Django如何正确截取中英混合字符串及表单中限制中文字符中长度...

    中文字符和英文字符所占的字节长度是不一样,一个是2个字节,一个是1个字节,这给我们用英文的web框架开发中文app带来了麻烦.比如Django自带过滤器truncatewords并不支持截取中文,另外 ...

  5. [转载] 字符串太长 pep8_Python f字符串– PEP 498 –文字字符串插值

    参考链接: 从Java中的字符串中删除前导零 字符串太长 pep8 Python f-strings or formatted strings are the new way to format st ...

  6. python字符串截取后拼接_Python字符串拼接、截断、搜索、替换,python,截取,查找

    熟练掌握字符串操作可以使我们的开发效率更高,接下来总结一下python字符串的操作 一.字符串拼接 1.字符串拼接,直接用加号即可, string1 = "Today is " s ...

  7. 字符串太长 pep8_Python f字符串– PEP 498 –文字字符串插值

    字符串太长 pep8 Python f-strings or formatted strings are the new way to format strings. This feature was ...

  8. JAVA-正则表达式匹配教程 使用正则表达式匹配字符串 截取匹配到的字符串

    可以利用在线工具先测试你所需要的正则表达式,其下方也列出了正则表达式的规则.也可以输入字符串去匹配测试. 并且他还有在线生成代码的功能..十分便捷.. 链接:https://c.runoob.com/ ...

  9. JavaScript如何截取指定位置的字符串

    我们在日常开发中,经常需要对字符串进行删除截取增加的操作,我们这次说一下使用JavaScript截取指定位置的字符串. ** 一.使用slice()截取 ** slice()方法可以通过指定的开始和结 ...

  10. 常见操作String的方法(截取子串,分割字符串,字符串的替换)

    常见操作String的方法(截取子串,分割字符串,字符串的替换) 截取子字符串substring() substring()方法有两种重载形式,一种是从指定位置截取到字符串结尾,另一种是截取指定范围的 ...

最新文章

  1. java基础---多线程同步锁问题
  2. python微信机器人部署服务器_玩法收藏/云服务器/零基础微信机器人实践( Python )...
  3. linux基础知识3
  4. Arcengine实现创建网络数据集札记(二)
  5. C++设计模式详解之工厂模式解析
  6. LeetCode-2: Add Two Numbers
  7. 技术面试时这样介绍自己的项目经验,等于成功了一大半
  8. C++%f和%lf的区别
  9. 佳博热敏打印机修改ip工具_佳博打印机修改ip教程本教程适用于80系列打印机及3150,9035打印.doc...
  10. 计算机端口错误678,Win8宽带连接出现错误678的解决方法
  11. 影响网站跳出率的因素
  12. 原装MTL安全栅MTL7742
  13. 顺丰云服务器,基于华为云云原生解决方案,顺丰“快递+”这一项业务效率提升了48倍...
  14. 关于DANet注意力机制
  15. request.args.get()用法
  16. 学习Linux有哪些工作方向?
  17. Unity体积光实现
  18. 独立版:零点城市社交电商V2.1.9.8 新增多宝鱼第三方商品插件
  19. 本构二次开发 c语言,基于外部材料接口的循环塑性本构模型二次开发
  20. 通过token认证的方式来加速OKE集群的访问

热门文章

  1. 算法:管窥算法-零子数组
  2. Ubuntu编写第一个Python程序
  3. Codeforces Round #387 (Div. 2) 747E
  4. 无法使用资源管理器浏览文档库?
  5. centos如何使用nomachine远程连接GNOME桌面(二)
  6. 电脑硬件知识大扫盲:主板知识大全
  7. Microsoft .NET 框架常见问题
  8. testufo测试刷新率测试_【中立观点】黑鲨3测试体验报告
  9. java中两个源文件_两个java源文件同属一个包,其中一个类引用了另一个,在用javac编译时,报错找不到引用的类,import无作用...
  10. Java基础枚举(enum关键字)