Funktionen mb_strlen

Funktionen mb_strlen returnerar antalet tecken i en sträng och fungerar korrekt med flerbyteskodningar (t.ex. UTF-8). Till skillnad från strlen räknar den korrekt tecken som upptar flera byte. Den tar strängen som första parameter och kodningen som andra (valfria) parameter.

Syntax

phpmb_strlen(string, [encoding]);

Exempel

Beräkna längden på en sträng i UTF-8:

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

Resultat av kodkörning:

php6

Exempel

Jämförelse med strlen för kyrilliska tecken:

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

Resultat av kodkörning:

phpstrlen: 8
mb_strlen: 4

Exempel

Användning utan att specificera kodning (kodningen hämtas från mb_internal_encoding):

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

Resultat av kodkörning:

php5

Se även

  • funktionen strlen,
    som returnerar längden på en sträng i byte
  • funktionen mb_substr,
    som extraherar en delsträng med hänsyn till kodning