English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
php резать строки в формате UTF-8
В php мы часто нуждаемся резать строки. Английские символы занимают один байт, китайские символы занимают два байта, но два байта китайских символов являются по отношению к кодировке GBK, но в настоящее время международно популярной кодировке UTF8, один китайский символ занимает три байта. Эта статья знакомит вас с функцией php для резания строк в формате UTF-8.
Пример:
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) { $result .= $etc; } return $result; }
Если нужно отрезать utf-8 форм... можно просто вызвать эту функцию.
<?php $str="Если нужно отрезать utf-8 форм..."; echo truncate_utf8_string($str,10);//результат вывода: если нужно отрезать utf-8 форм... ?>
Спасибо за чтение,�� vọng có thể giúp ích cho bạn, cảm ơn mọi người đã ủng hộ trang web này!