Función mb_strlen
La función mb_strlen devuelve el número de caracteres en una cadena, funcionando correctamente con codificaciones multibyte (por ejemplo, UTF-8). A diferencia de strlen, cuenta correctamente los caracteres que ocupan varios bytes. Acepta la cadena como primer parámetro y la codificación como segundo (opcional).
Sintaxis
phpmb_strlen(string, [encoding]);
Ejemplo
Contar la longitud de una cadena en UTF-8:
php<?php
$res = mb_strlen('Привет', 'UTF-8');
echo $res;
?>
Resultado de ejecutar el código:
php6
Ejemplo
Comparación con strlen para cirílico:
php<?php
$str = 'тест';
echo 'strlen: ' . strlen($str) . '<br>';
echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>
Resultado de ejecutar el código:
phpstrlen: 8
mb_strlen: 4
Ejemplo
Uso sin especificar la codificación
(la codificación se toma de mb_internal_encoding):
php<?php
echo mb_strlen('abcde');
?>
Resultado de ejecutar el código:
php5