Funzione mb_substr_count

La funzione mb_substr_count restituisce il numero di occorrenze di una sottostringa in una stringa. A differenza di substr_count, funziona correttamente con codifiche multibyte (UTF-8 e altre). Il primo parametro è la stringa in cui cercare, il secondo è la sottostringa da cercare. Il terzo parametro opzionale specifica la codifica.

Sintassi

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

Esempio

Contiamo il numero di occorrenze della sottostringa 'ab' nella stringa:

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

Risultato dell'esecuzione del codice:

php3

Esempio

Conteggio delle occorrenze con specifica della codifica UTF-8:

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

Risultato dell'esecuzione del codice:

php2

Esempio

Confronto con substr_count normale in cirillico:

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

Risultato dell'esecuzione del codice:

php'substr_count: 3'
'mb_substr_count: 2'

Vedi anche

  • la funzione substr_count,
    che conta le occorrenze delle sottostringhe senza supporto per codifiche multibyte
  • la funzione mb_strpos,
    che cerca la posizione della prima occorrenza di una sottostringa