Funkcija mb_strlen

Funkcija mb_strlen grąžina simbolių skaičių eilutėje, teisingai veikdama su daugiabaitėmis koduotėmis (pvz., UTF-8). Skirtingai nuo strlen, ji teisingai skaičiuoja simbolius, užimančius kelis baitus. Pirmu parametru priima eilutę, antru (neprivalomu) - koduotę.

Sintaksė

phpmb_strlen(string, [encoding]);

Pavyzdys

Eilutės ilgio skaičiavimas UTF-8:

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

Kodo vykdymo rezultatas:

php6

Pavyzdys

Palyginimas su strlen kirilikai:

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

Kodo vykdymo rezultatas:

phpstrlen: 8
mb_strlen: 4

Pavyzdys

Naudojimas nenurodant koduotės (koduotė paimama iš mb_internal_encoding):

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

Kodo vykdymo rezultatas:

php5

Taip pat žiūrėkite

  • funkciją strlen,
    kuri grąžina eilutės ilgį baitais
  • funkciją mb_substr,
    kuri iškerpa poeilutę atsižvelgdama į koduotę