Fonction mb_strlen
La fonction mb_strlen renvoie le nombre de caractères dans une chaîne, en travaillant correctement avec les encodages multioctets (par exemple, UTF-8). Contrairement à strlen, elle compte correctement les caractères occupant plusieurs octets. Elle prend la chaîne comme premier paramètre et l'encodage comme second (optionnel).
Syntaxe
mb_strlen(string, [encoding]);
Exemple
Compter la longueur d'une chaîne en UTF-8 :
<?php
$res = mb_strlen('Привет', 'UTF-8');
echo $res;
?>
Résultat de l'exécution du code :
6
Exemple
Comparaison avec strlen pour le cyrillique :
<?php
$str = 'тест';
echo 'strlen: ' . strlen($str) . '<br>';
echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>
Résultat de l'exécution du code :
strlen: 8
mb_strlen: 4
Exemple
Utilisation sans spécifier l'encodage
(l'encodage est tiré de mb_internal_encoding) :
<?php
echo mb_strlen('abcde');
?>
Résultat de l'exécution du code :
5