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

phpmb_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<?php
  $res = mb_substr_count('abcdeabab', 'ab');
  echo $res;
?>

Wynik wykonania kodu:

php3

Przykład

Zliczanie wystąpień z określeniem kodowania UTF-8:

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

Wynik wykonania kodu:

php2

Przykład

Porównanie ze zwykłą substr_count na cyrylicy:

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

Wynik wykonania kodu:

php'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