Функция mb_substr_count

Функцията mb_substr_count връща броя на срещанията на подниз в низ. За разлика от substr_count, тя работи коректно с многобайтови кодировки (UTF-8 и други). Първият параметър е низът за търсене, вторият - търсеният подниз. Третият незадължителен параметър задава кодировката.

Синтаксис

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

Пример

Нека преброим броя на срещанията на подниза 'ab' в низа:

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

Резултат от изпълнението на кода:

php3

Пример

Броене на срещания с указаване на кодировка UTF-8:

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

Резултат от изпълнението на кода:

php2

Пример

Сравнение с обикновената substr_count на кирилица:

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

Резултат от изпълнението на кода:

php'substr_count: 3'
'mb_substr_count: 2'

Вижте също

  • функцията substr_count,
    която брои срещанията на подниз без поддръжка на многобайтови кодировки
  • функцията mb_strpos,
    която търси позицията на първото срещане на подниз