PHP 截取utf-8格式的字符串
PHP中,我们经常需要截取字符串。英文字符占用一个字节,中文字符占用两个字节,但中文字符占用两个字节是相对于GBK编码而言但是在时下国际流行的UTF8编码中,一个中文字符占用3个字节。本文章向大家介绍一个PHP 截取utf-8格式字符串的函数。
举例说明:
PHP;">
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,$number );
$length -= 1.0;
$i += $number - 1;
} else {
$result .= substr ( $string,1 );
$length -= 0.5;
}
}
$result = htmlspecialchars ( $result,'UTF-8' );
if ($i < $strlen) {
$result .= $etc;
}
return $result;
}
PHP;">
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!