php 读取模板字符串,thinkphp模板字符串截取

更为简化的调用,并且更少的判断,更快的速度。

ThinkPHP 官方扩展的 msubstr 方法其实挺好的,但有以下几个问题:

1,调用的时候会多次判断,包括2次判断是否自带了 mb_substr 和 iconv_substr 函数;

2,无论是否超出长度,如果有 $suffix=true 都会追加省略号,这个不太合理;

介于以上两点,并且在确保自己的服务器支持 mb_substr 函数、并且都是 utf-8 编码的情况下,我们其实可以自己在 Common/common.php(3.2 版本中为 function.php) 中自己添加一个 subtext 的函数,代码如下:

function subtext($text, $length)

{

if(mb_strlen($text, 'utf8') > $length)

return mb_substr($text, 0, $length, 'utf8').'...';

return $text;

}

这样在模版中调用的话,只需要用 {$vo.title|subtext=10} 这样即可,同时实现了,如果没超出长度,则不追加省略号的效果。

原文:http://www.thinkphp.cn/code/385.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值