Funktion mb_strlen

Die Funktion mb_strlen gibt die Anzahl der Zeichen in einer Zeichenkette zurück und arbeitet korrekt mit Multibyte-Kodierungen (z.B. UTF-8). Im Gegensatz zu strlen zählt sie Zeichen, die mehrere Bytes belegen, korrekt. Der erste Parameter ist der String, der zweite (optionale) Parameter ist die Kodierung.

Syntax

phpmb_strlen(string, [encoding]);

Beispiel

Zählen der Stringlänge in UTF-8:

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

Ergebnis der Codeausführung:

php6

Beispiel

Vergleich mit strlen für Kyrillisch:

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

Ergebnis der Codeausführung:

phpstrlen: 8
mb_strlen: 4

Beispiel

Verwendung ohne Angabe der Kodierung (Kodierung wird aus mb_internal_encoding übernommen):

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

Ergebnis der Codeausführung:

php5

Siehe auch

  • die Funktion strlen,
    die die Länge eines Strings in Bytes zurückgibt
  • die Funktion mb_substr,
    die einen Teilstring unter Berücksichtigung der Kodierung ausschneidet