Maison  >  Article  >  développement back-end  >  PHP intercepte les fonctions mb_substr() et mb_strcut() de longueur de chaîne chinoise

PHP intercepte les fonctions mb_substr() et mb_strcut() de longueur de chaîne chinoise

黄舟
黄舟original
2017-02-06 15:12:351324parcourir

La fonction substr() peut être utilisée pour diviser du texte, mais si le texte à diviser comprend des caractères chinois, vous rencontrerez souvent des problèmes. Dans ce cas, vous pouvez utiliser la fonction mb_substr()/mb_strcut. mb_substr()/mb_strcut est identique à celui de substr(), sauf qu'un paramètre supplémentaire doit être ajouté à la fin de mb_substr()/mb_strcut pour définir l'encodage de la chaîne. Cependant, la plupart des serveurs ne s'ouvrent pas. php_mbstring.dll Vous devez ouvrir php_mbstring.dll dans php.ini.

Par exemple :

<?php
echo mb_substr(‘这样一来我的字符串就不会有乱码^_^’, 0, 7, ‘utf-8′);
?>

Sortie : Par ici mes mots

<?php
echo mb_strcut(‘这样一来我的字符串就不会有乱码^_^’, 0, 7,’utf-8′);
?>

Sortie : Par ici

Comme peut être vu dans l'exemple ci-dessus, mb_substr divise les caractères par mots, tandis que mb_strcut divise les caractères par octets, mais ni l'un ni l'autre ne produira un demi-caractère...

Le paragraphe ci-dessus est extrait d'Internet, les résultats sont obtenus grâce à mes propres tests.

Compréhension personnelle :
La fonction mb_substr() représente une unité pour les caractères anglais ou chinois.
La fonction mb_strcut() a 3 unités pour les caractères chinois et 1 unité pour les caractères anglais.

Par exemple :

<?php
$str = “这样abcd一来”;
echo “mb_substr:”.mb_substr($str, 0, 5, ‘utf-8′);
echo “<br>”;
echo “mb_strcut:”.mb_strcut($str, 0, 8, ‘utf-8′);
?>

Le résultat de sortie est le suivant :

mb_substr: 这样abc
mb_strcut:  这样ab

Pièce jointe :

La différence entre strlen et mb_strlen :

<?php 
$str=”中文a字1符”; 
echo strlen($str); 
echo “<br />”; 
echo mb_strlen($str,’UTF8′); 
?>

Résultat de sortie :

14 
6

Ce qui précède est le contenu des fonctions mb_substr() et mb_strcut() qui PHP utilise pour intercepter la longueur des chaînes chinoises. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn