首页 > PHP资讯 > PHP培训技术 > smarty模板截取字符串乱码问题完美解决

smarty模板截取字符串乱码问题完美解决

PHP培训技术

每一次遇到问题,都有解决的方法。

当你解决了问题时,会发现原来自己一直在进步````

学php不久,却喜欢上了这种语言。太完美了。

今天遇到了一个乱码问题,这类问题对于一个smarty模板忠实者来说,应该算是普遍性的。

个人认为smarty和php是个近乎完美的组合。

下面就是解决问题的方法:

smarty模板截取字符串后边几个字乱码。

改写文件modifier_truncate.php

function smarty_modifier_truncatey( $string,$length = 80,$etc='...',$count_words = true ) {
        mb_internal_encoding("UTF-8");
        if ($length == 0)return '';
        if ( strlen( $string ) <= $length ) return $string;
        preg_match_all("/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/", $string, $info);
   if( $count_words ){
                $j = 0;
                for($i=0; $i                        $wordscut .= $info[0][$i];
                        if( ord( $info[0][$i] ) >=128 ){
                                $j = $j+2;
                        }else{
                                $j = $j + 1;
                        }
                        if ($j >= $length ) {
                                        return $wordscut.$etc;
                        }
                }
                return join('', $info[0]);
   }
        return join("",array_slice( $info[0],0,$length ) ).$etc;
}

读取{$xnews[t].title|truncate:14}

就这么简单```
 

PHP培训技术

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持29不支持0