Funcția mb_strlen

Funcția mb_strlen returnează numărul de caractere dintr-un șir, lucrând corect cu codificări multibyte (de exemplu, UTF-8). Spre deosebire de strlen, ea numără corect caracterele care ocupă mai mulți biți. Primul parametru primește șirul, al doilea (opțional) - codificarea.

Sintaxă

phpmb_strlen(string, [encoding]);

Exemplu

Numărarea lungimii șirului în UTF-8:

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

Rezultatul executării codului:

php6

Exemplu

Comparație cu strlen pentru chirilică:

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

Rezultatul executării codului:

phpstrlen: 8
mb_strlen: 4

Exemplu

Utilizare fără a specifica codificarea (codificarea este preluată din mb_internal_encoding):

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

Rezultatul executării codului:

php5

Vedeți și

  • funcția strlen,
    care returnează lungimea șirului în biți
  • funcția mb_substr,
    care extrage un subșir ținând cont de codificare