var_dump(Helper::truncate_utf8_string('$str', 8));
网站制作、做网站,成都做网站公司-创新互联公司已向成百上千家企业提供了,网站设计,网站制作,网络营销等服务!设计与技术结合,多年网站推广经验,合理的价格为您打造企业品质网站。
/**
* $string 传入字符串
* $length 截取长度
* $etc 超过部分替换内容
*/
public static function truncate_utf8_string($string, $length, $etc = '...')
{
$result = '';
$string = html_entity_decode(trim(strip_tags($string)), ENT_QUOTES, 'UTF-8');
$strlen = strlen($string);
for ($i = 0; (($i < $strlen) && ($length > 0)); $i++) {
if (!!$number = strpos(str_pad(decbin(ord(substr($string, $i, 1))), 8, '0', STR_PAD_LEFT), '0')) {
if ($length < 1.0)
break;
$result .= substr($string, $i, $number);
$length -= 1.0;
$i += $number - 1;
} else {
$result .= substr($string, $i, 1);
$length -= 0.5;
}
}
$result = htmlspecialchars($result, ENT_QUOTES, 'UTF-8');
if ($i < $strlen && $etc !== false) {
$result .= $etc;
}
return $result;
}