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
phpmb_strlen(string, [encoding]);
Exemple
Compter la longueur d'une chaîne en UTF-8 :
php<?php
$res = mb_strlen('Привет', 'UTF-8');
echo $res;
?>
Résultat de l'exécution du code :
php6
Exemple
Comparaison avec strlen pour le cyrillique :
php<?php
$str = 'тест';
echo 'strlen: ' . strlen($str) . '<br>';
echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>
Résultat de l'exécution du code :
phpstrlen: 8
mb_strlen: 4
Exemple
Utilisation sans spécifier l'encodage
(l'encodage est tiré de mb_internal_encoding) :
php<?php
echo mb_strlen('abcde');
?>
Résultat de l'exécution du code :
php5