104 of 410 menu

The mb_substr_count Function

The mb_substr_count function returns the number of substring occurrences in a string. Unlike substr_count, it works correctly with multibyte encodings (UTF-8 and others). The first parameter is the string to search in, the second is the substring to find. The third optional parameter specifies the encoding.

Syntax

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

Example

Count the number of occurrences of the substring 'ab' in the string:

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

Code execution result:

3

Example

Counting occurrences with UTF-8 encoding specified:

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

Code execution result:

2

Example

Comparison with regular substr_count on Cyrillic:

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

Code execution result:

substr_count: 3 mb_substr_count: 2

See Also

  • the substr_count function,
    which counts substring occurrences without multibyte encoding support
  • the mb_strpos function,
    which finds the position of the first occurrence of a substring
byenru