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