Functie mb_substr_count

De functie mb_substr_count retourneert het aantal voorkomens van een substring in een string. In tegenstelling tot substr_count werkt ze correct met multibyte-coderingen (UTF-8 en andere). De eerste parameter is de string waarin gezocht moet worden, de tweede is de gezochte substring. De derde optionele parameter specificeert de codering.

Syntaxis

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

Voorbeeld

Laten we het aantal voorkomens van de substring 'ab' in een string tellen:

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

Resultaat van de code-uitvoering:

php3

Voorbeeld

Tellen van voorkomens met specificatie van UTF-8 codering:

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

Resultaat van de code-uitvoering:

php2

Voorbeeld

Vergelijking met gewone substr_count op Cyrillische tekst:

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

Resultaat van de code-uitvoering:

php'substr_count: 3'
'mb_substr_count: 2'

Zie ook

  • de functie substr_count,
    die substringvoorkomens telt zonder ondersteuning voor multibyte-coderingen
  • de functie mb_strpos,
    die de positie van het eerste voorkomen van een substring zoekt