Funktion mb_substr_count

Die Funktion mb_substr_count gibt die Anzahl der Vorkommen einer Teilzeichenkette in einer Zeichenkette zurück. Im Gegensatz zu substr_count funktioniert sie korrekt mit Multibyte-Kodierungen (UTF-8 und anderen). Der erste Parameter ist die zu durchsuchende Zeichenkette, der zweite die gesuchte Teilzeichenkette. Der dritte optionale Parameter gibt die Kodierung an.

Syntax

phpmb_substr_count(string $haystack, string $needle, ?string $encoding = null): int

Beispiel

Zählen der Vorkommen der Teilzeichenkette 'ab' in der Zeichenkette:

php<?php
  $res = mb_substr_count('abcdeabab', 'ab');
  echo $res;
?>

Ergebnis der Codeausführung:

php3

Beispiel

Zählen der Vorkommen mit Angabe der Kodierung UTF-8:

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

Ergebnis der Codeausführung:

php2

Beispiel

Vergleich mit der normalen substr_count auf Kyrillisch:

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

Ergebnis der Codeausführung:

php'substr_count: 3'
'mb_substr_count: 2'

Siehe auch

  • die Funktion substr_count,
    die Vorkommen einer Teilzeichenkette ohne Unterstützung für Multibyte-Kodierungen zählt
  • die Funktion mb_strpos,
    die die Position des ersten Vorkommens einer Teilzeichenkette sucht