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

Ver también

  • la función strlen,
    que devuelve la longitud de una cadena en bytes
  • la función mb_substr,
    que extrae una subcadena teniendo en cuenta la codificación