En tant que langue populaire côté serveur, PHP nécessite souvent d'intercepter les chaînes. Parce que les caractères chinois occupent plusieurs octets, les fonctions interceptrices de cordes ordinaires ne peuvent pas traiter avec précision chinois. Cet article partagera plusieurs méthodes pratiques pour intercepter les cordes chinoises pour vous aider à résoudre facilement ce problème.
La fonction MB_substr () intégrée de PHP est conçue pour les caractères multi-octets et peut intercepter avec précision les cordes chinoises. Il intercepte en fonction du nombre de caractères, et non d'un simple nombre d'octets.
<span class="fun">MB_SUBSTR (String $ Str, int $ start, int $ Longue</span>
Description du paramètre:
Exemple de code:
$str = "PHPIntercepter les cordes chinoises";
$substr = mb_substr($str, 0, 6);
echo $substr; // Sortir:"PHPIntercepté"
En plus des fonctions intégrées, des expressions régulières peuvent également être utilisées pour combiner preg_match () pour réaliser des caractères chinois interceptant. Les expressions régulières peuvent correspondre aux caractères chinois Unicode dans une plage spécifiée.
Exemple de code:
$str = "PHPIntercepter les cordes chinoises";
preg_match('/^([\x{4e00}-\x{9fa5}]+)/u', $str, $matches);
echo $matches[1]; // Sortir:"PHP"
Si une logique d'interception plus flexible est nécessaire, vous pouvez personnaliser les fonctions et combiner mb_strlen () et mb_substr () pour réaliser l'effet d'interception avec ellipsis.
function substr_cn($str, $length) {
$len = mb_strlen($str, 'UTF-8');
if ($len > $length) {
$str = mb_substr($str, 0, $length, 'UTF-8') . '...';
}
return $str;
}
$str = "PHPIntercepter les cordes chinoises";
$substr = substr_cn($str, 6);
echo $substr; // Sortir:"PHPIntercepté..."
Lorsque vous utilisez les méthodes ci-dessus, vous devez faire attention aux points suivants:
Intercepter les cordes chinoises est une exigence commune et critique dans le développement de PHP. Grâce à la fonction MB_substr () intégrée, à la correspondance d'expression régulière et aux fonctions personnalisées, l'interception des chaînes chinoises peut être flexible et efficace. La gestion correcte de l'encodage et de la longueur des caractères est la clé pour assurer les résultats d'interception précis. J'espère que la méthode de cet article pourra fournir une référence pratique pour le développement de votre projet.