Funkcja mb_substr_count
Funkcja mb_substr_count zwraca liczbę wystąpień podciągu w ciągu znaków. W przeciwieństwie do substr_count, poprawnie działa z kodowaniami wielobajtowymi (UTF-8 i innymi). Pierwszym parametrem przekazywany jest ciąg do przeszukania, drugim - szukany podciąg. Trzeci opcjonalny parametr określa kodowanie.
Składnia
mb_substr_count(string $haystack, string $needle, ?string $encoding = null): int
Przykład
Policzmy liczbę wystąpień podciągu 'ab' w ciągu znaków:
<?php
$res = mb_substr_count('abcdeabab', 'ab');
echo $res;
?>
Wynik wykonania kodu:
3
Przykład
Zliczanie wystąpień z określeniem kodowania UTF-8:
<?php
$res = mb_substr_count('привет мир', 'ир', 'UTF-8');
echo $res;
?>
Wynik wykonania kodu:
2
Przykład
Porównanie ze zwykłą substr_count na cyrylicy:
<?php
$str = 'тест тест';
echo 'substr_count: ' . substr_count($str, 'те') . '<br>';
echo 'mb_substr_count: ' . mb_substr_count($str, 'те', 'UTF-8');
?>
Wynik wykonania kodu:
'substr_count: 3'
'mb_substr_count: 2'
Zobacz też
-
funkcję
substr_count,
która zlicza wystąpienia podciągu bez obsługi kodowań wielobajtowych -
funkcję
mb_strpos,
która wyszukuje pozycję pierwszego wystąpienia podciągu