smarty截取字数有乱码处理方法

1.找到/libs/Smarty/plugins/modifier.truncate.php方法:

function smarty_modifier_truncate($string, $length = 80, $etc = '...',
                                  $break_words = false, $middle = false)
{
    if ($length == 0)
        return '';

    if (strlen($string) > $length) {
        $length -= strlen($etc);
        if (!$break_words && !$middle) {
            $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1));
        }
        if(!$middle) {
            return substr($string, 0, $length).$etc;
        } else {
            return substr($string, 0, $length/2) . $etc . substr($string, -$length/2);
        }
    } else {
        return $string;
    }
}

修改为:

function smarty_modifier_truncate($string, $length = 80, $etc = '...', $code = 'UTF-8')
{
路是自己走出来的,而不是选出来的。
原文地址:https://www.cnblogs.com/mo3408/p/15741747.html