Função mb_substr_count

A função mb_substr_count retorna o número de ocorrências de uma substring em uma string. Diferente de substr_count, ela funciona corretamente com codificações multibyte (UTF-8 e outras). O primeiro parâmetro é a string onde será feita a busca, o segundo é a substring procurada. O terceiro parâmetro opcional especifica a codificação.

Sintaxe

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

Exemplo

Vamos contar o número de ocorrências da substring 'ab' na string:

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

Resultado da execução do código:

php3

Exemplo

Contagem de ocorrências com especificação da codificação UTF-8:

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

Resultado da execução do código:

php2

Exemplo

Comparação com substr_count normal em cirílico:

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

Resultado da execução do código:

php'substr_count: 3'
'mb_substr_count: 2'

Veja também

  • a função substr_count,
    que conta ocorrências de substring sem suporte a codificações multibyte
  • a função mb_strpos,
    que busca a posição da primeira ocorrência de uma substring