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

Viz také

  • funkci strlen,
    která vrací délku řetězce v bajtech
  • funkci mb_substr,
    která vyjme podřetězec s ohledem na kódování