Functie mb_strlen

De functie mb_strlen retourneert het aantal karakters in een string en werkt correct met multibyte-coderingen (bijvoorbeeld UTF-8). In tegenstelling tot strlen, telt het correct karakters die meerdere bytes in beslag nemen. Het accepteert de string als eerste parameter, de codering als tweede (optionele) parameter.

Syntaxis

phpmb_strlen(string, [encoding]);

Voorbeeld

Lengte van een string tellen in UTF-8:

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

Resultaat van het uitvoeren van de code:

php6

Voorbeeld

Vergelijking met strlen voor Cyrillisch:

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

Resultaat van het uitvoeren van de code:

phpstrlen: 8
mb_strlen: 4

Voorbeeld

Gebruik zonder codering op te geven (codering wordt overgenomen van mb_internal_encoding):

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

Resultaat van het uitvoeren van de code:

php5

Zie ook

  • functie strlen,
    die de lengte van een string in bytes retourneert
  • functie mb_substr,
    die een substring uitknipt rekening houdend met codering