Función mb_substr_count

La función mb_substr_count devuelve el número de ocurrencias de una subcadena en una cadena. A diferencia de substr_count, funciona correctamente con codificaciones multibyte (UTF-8 y otras). El primer parámetro es la cadena donde buscar, el segundo es la subcadena buscada. El tercer parámetro opcional especifica la codificación.

Sintaxis

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

Ejemplo

Contemos el número de ocurrencias de la subcadena 'ab' en la cadena:

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

Resultado de ejecutar el código:

php3

Ejemplo

Conteo de ocurrencias especificando codificación UTF-8:

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

Resultado de ejecutar el código:

php2

Ejemplo

Comparación con substr_count normal en cirílico:

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

Resultado de ejecutar el código:

php'substr_count: 3'
'mb_substr_count: 2'

Ver también

  • la función substr_count,
    que cuenta ocurrencias de subcadenas sin soporte para codificaciones multibyte
  • la función mb_strpos,
    que busca la posición de la primera ocurrencia de una subcadena