1.使用Multi-Byte String Functions ,需要服务器安装相应模块
新建文件: modifier.mb_truncate.php
function smarty_modifier_mb_truncate($string, $length = 80, $etc = '...', $middle = false)
{
if ($length == 0)
return '';
if (mb_strlen($string, 'UTF-8') > $length) {
$length -= mb_strlen($etc);
if(!$middle) {
return mb_substr($string, 0, $length).$etc;
} else {
return mb_substr($string, 0, $length/2) . $etc . mb_substr($string, -$length/2, $length/2, 'UTF-8');
}
} else {
return $string;
}
}
2.
新建文件: modifier.mb_substring.php
function smarty_modifier_substring($string, $from, $length = null)
{
preg_match_all('/[-]?./', $string, $match);
if(is_null($length))
{
$result = implode('', array_slice($match[0], $from));
}
else
{
$result = implode('', array_slice($match[0], $from, $length));
}
return $result;
}