Функцыя mb_strlen

Функцыя mb_strlen вяртае колькасць сімвалаў у радку, карэктна працуючы з шматбайтнымі кадыроўкамі (напрыклад, UTF-8). У адрозненне ад strlen, яна правільна падлічвае сімвалы, якія займаюць некалькі байт. Першым параметрам прымае радок, другім (неабавязковым) - кадыроўку.

Сінтаксіс

phpmb_strlen(string, [encoding]);

Прыклад

Падлік даўжыні радка ў UTF-8:

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

Вынік выканання кода:

php6

Прыклад

Параўнанне з strlen для кірыліцы:

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

Вынік выканання кода:

phpstrlen: 8
mb_strlen: 4

Прыклад

Выкарыстанне без указання кадыроўкі (кадыроўка бярэцца з mb_internal_encoding):

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

Вынік выканання кода:

php5

Глядзіце таксама

  • функцыю strlen,
    якая вяртае даўжыню радка ў байтах
  • функцыю mb_substr,
    якая выразае падрадок з улікам кадыроўкі