本文实例讲述了thinkPHP中字符截取函数msubstr()用法。分享给大家供大家参考,具体如下:
ThinkPHP有一个内置字符截取函数msubstr()如下:
$str:要截取的字符串
$start=0:开始位置,默认从0开始
$length:截取长度
$charset="utf-8":字符编码,默认UTF-8
$suffix=true:是否在截取后的字符后面显示省略号,默认true显示,false为不显示 最近在用thinkPHP写程序的时候遇到 Call to undefined function msubstr() 这样一个报错, 在前台模板中用到了msubstr|msubstr=###,false 这个函数来截取字符数量; 开始在本地写的时候是windows操作系统没报错,后来把项目上传到Linux服务器的时候访问前台报Call to undefined function msubstr()这个错; 开始在think官方看到有小伙伴们贴出来了要在公共函数库下定义这个函数;函数如下: 定义完之后在本地可以使用;也看到有小伙伴们说要把这个函数放到ThinkPHP核心函数文件下可以解决Call to undefined function msubstr()报错问题,放在自己的项目Common目录下的common.PHP下说无效,但是不想改动Think的核心文件方便 以后升级; 还是Linx下的文件大小写问题,经我仔细查看发现,由于项目不会自动生成common.PHP要手动建,原来我在本地项目下的Common下的common.PHP的C写成了大写,然后查看官方的核心Common下的common.PHP的C是小写。最后把他改成小写问题解决; 记录一下,避免以后再犯这种低级错误!调用如下
解释:
截取字符串$vo.title,从第5个字符开始,截取5个,编码为UTF-8,不显示省略号
原因分析:
问题出现:
问题排除:
解决方案: