Smarty截取UTF-8字符串插件,代替默认的truncate

最近做项目老是利用truncate截取字符,因为我们的项目是UTF-8的,但是当使用默认的truncate截取UTF-8时经常会出现乱码出现乱码,很烦人,

决定自己弄截取字符的smarty插件,这里还要感谢安徽php社区的小朱同学,呵呵~~

把下面的代码放在plugins,

我的命名为:modifier.jiequ.php,别告诉我你不知道怎么用,

使用方法其实就和truncate很类似的,就不说了哈

直接看代码吧:
<?php
/**
*  原创安徽php社区http://bbs.hfphp.org
   smarty插件
   作用截取UTF-8字符串
   author: bjk
*/
/**
   @string   要截取的字符串
   @length  要截取的字符数  ()默认长度为80
   @etc    截取后替换的东东
 */
function smarty_modifier_jiequ($string, $length = 80, $etc = '...')
{
    if ($length == 0)
        return '';
    if (mb_strlen($string,'UTF-8') > $length) {
  $string = mb_substr($string,0,$length,'UTF-8');
  return $string.$etc;
 }else{
  return $string;
 }
}
?>


大家直接复制就可以了,我不就不上传附件了,呵呵,,,

有什么问题,欢迎大家来安徽PHP社区和我交流。

你可能感兴趣的:(PHP,bbs)