Funcția mb_substr_count
Funcția mb_substr_count returnează numărul de apariții ale unui substring într-un șir. Spre deosebire de substr_count, aceasta funcționează corect cu codificări multibyte (UTF-8 și altele). Primul parametru este șirul în care se caută, al doilea este substringul căutat. Al treilea parametru opțional specifică codificarea.
Sintaxă
mb_substr_count(string $haystack, string $needle, ?string $encoding = null): int
Exemplu
Să numărăm numărul de apariții ale substringului 'ab' în șir:
<?php
$res = mb_substr_count('abcdeabab', 'ab');
echo $res;
?>
Rezultatul executării codului:
3
Exemplu
Numărarea aparițiilor cu specificarea codificării UTF-8:
<?php
$res = mb_substr_count('привет мир', 'ир', 'UTF-8');
echo $res;
?>
Rezultatul executării codului:
2
Exemplu
Comparație cu substr_count obișnuită pe chirilică:
<?php
$str = 'тест тест';
echo 'substr_count: ' . substr_count($str, 'те') . '<br>';
echo 'mb_substr_count: ' . mb_substr_count($str, 'те', 'UTF-8');
?>
Rezultatul executării codului:
'substr_count: 3'
'mb_substr_count: 2'
Vedeți și
-
funcția
substr_count,
care numără aparițiile substringului fără suport pentru codificări multibyte -
funcția
mb_strpos,
care caută poziția primei apariții a substringului