English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
php Coupe utf-8format de chaîne
Dans PHP, nous avons souvent besoin de couper les chaînes de caractères. Un caractère anglais occupe un octet, un caractère chinois occupe deux octets, mais l'occupation de deux octets par un caractère chinois est relative à l'encodage GBK, mais dans l'encodage UTF8dans l'encodage, un caractère chinois occupe3octets. Cet article présente une méthode de coupe de chaîne UTF-8Fonction de format de chaîne.
Illustration d'exemple :
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; $result .= substr ( $string, $i, 1 ); $length -= 0.5; } } $result = htmlspecialchars ( $result, ENT_QUOTES, 'UTF-8' ); if ($i < $strlen) { $result .= $etc; } return $result; }
si vous devez extraire utf-8au format de chaîne, appellez cette fonction directement.
<?php $str="si vous devez extraire utf-8au format de chaîne, appellez cette fonction directement. ; 8_string($str,10);//Résultat de la sortie : si vous devez extraire utf-8格... ?>
Merci de lire, j'espère que cela pourra aider tout le monde, merci de votre soutien à ce site !