Funkce mb_strlen
Funkce mb_strlen vrací počet znaků v řetězci a správně pracuje s vícebajtovými kódováními (například UTF-8). Na rozdíl od strlen správně počítá znaky, které zabírají více bajtů. Jako první parametr přijímá řetězec, jako druhý (volitelný) - kódování.
Syntaxe
phpmb_strlen(string, [encoding]);
Příklad
Výpočet délky řetězce v UTF-8:
php<?php
$res = mb_strlen('Привет', 'UTF-8');
echo $res;
?>
Výsledek provedení kódu:
php6
Příklad
Srovnání s strlen pro cyrilici:
php<?php
$str = 'тест';
echo 'strlen: ' . strlen($str) . '<br>';
echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>
Výsledek provedení kódu:
phpstrlen: 8
mb_strlen: 4
Příklad
Použití bez určení kódování
(kódování se bere z mb_internal_encoding):
php<?php
echo mb_strlen('abcde');
?>
Výsledek provedení kódu:
php5