Функция 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,
    която изрязва подниз с оглед на кодировката