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
mb_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
$res = mb_substr_count('abcdeabab', 'ab');
echo $res;
?>
Výsledek provedení kódu:
3
Příklad
Počítání výskytů s určením kódování UTF-8:
<?php
$res = mb_substr_count('привет мир', 'ир', 'UTF-8');
echo $res;
?>
Výsledek provedení kódu:
2
Příklad
Srovnání s obyčejnou substr_count na cyrilici:
<?php
$str = 'тест тест';
echo 'substr_count: ' . substr_count($str, 'те') . '<br>';
echo 'mb_substr_count: ' . mb_substr_count($str, 'те', 'UTF-8');
?>
Výsledek provedení kódu:
'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