Funkcia mb_strlen

Funkcia mb_strlen vráti počet znakov v reťazci, správne pracujúc s multibajtovými kódovaniami (napríklad UTF-8). Na rozdiel od strlen správne počíta znaky, ktoré zaberajú viac bajtov. Ako prvý parameter prijíma reťazec, ako druhý (voliteľný) - kódovanie.

Syntax

phpmb_strlen(string, [encoding]);

Príklad

Výpočet dĺžky reťazca v UTF-8:

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

Výsledok vykonania kódu:

php6

Príklad

Porovnanie s strlen pre cyriliku:

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

Výsledok vykonania kódu:

phpstrlen: 8
mb_strlen: 4

Príklad

Použitie bez určenia kódovania (kódovanie sa berie z mb_internal_encoding):

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

Výsledok vykonania kódu:

php5

Pozrite tiež

  • funkciu strlen,
    ktorá vráti dĺžku reťazca v bajtoch
  • funkciu mb_substr,
    ktorá vyreže podreťazec s ohľadom na kódovanie