Funkce mb_substr_count

Funkce mb_substr_count vrací počet výskytů podřetězce v řetězci. Na rozdíl od substr_count správně pracuje s multibyte kódováním (UTF-8 a dalšími). Prvním parametrem je řetězec pro hledání, druhým hledaný podřetězec. Třetí volitelný parametr nastavuje kódování.

Syntaxe

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

Příklad

Spočítáme počet výskytů podřetězce 'ab' v řetězci:

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

Výsledek provedení kódu:

php3

Příklad

Počítání výskytů s určením kódování UTF-8:

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

Výsledek provedení kódu:

php2

Příklad

Srovnání s obyčejnou substr_count na cyrilici:

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

Výsledek provedení kódu:

php'substr_count: 3'
'mb_substr_count: 2'

Viz také

  • funkci substr_count,
    která počítá výskyty podřetězce bez podpory multibyte kódování
  • funkci mb_strpos,
    která hledá pozici prvního výskytu podřetězce