Funzione mb_strlen

La funzione mb_strlen restituisce il numero di caratteri in una stringa, funzionando correttamente con codifiche multibyte (ad esempio, UTF-8). A differenza di strlen, conta correttamente i caratteri che occupano più byte. Accetta la stringa come primo parametro e la codifica (opzionale) come secondo.

Sintassi

phpmb_strlen(string, [encoding]);

Esempio

Conteggio della lunghezza di una stringa in UTF-8:

php<?php
  $res = mb_strlen('Привет', 'UTF-8');
  echo $res;
?>

Risultato dell'esecuzione del codice:

php6

Esempio

Confronto con strlen per il cirillico:

php<?php
  $str = 'тест';
  echo 'strlen: ' . strlen($str) . '<br>';
  echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>

Risultato dell'esecuzione del codice:

phpstrlen: 8
mb_strlen: 4

Esempio

Utilizzo senza specificare la codifica (la codifica è presa da mb_internal_encoding):

php<?php
  echo mb_strlen('abcde');
?>

Risultato dell'esecuzione del codice:

php5

Vedi anche

  • la funzione strlen,
    che restituisce la lunghezza della stringa in byte
  • la funzione mb_substr,
    che estrae una sottostringa tenendo conto della codifica