mb_substr_count în PHP

Numără de câte ori apare un subșir într-un text multibyte.

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

Ce face mb_substr_count

mb_substr_count numără aparițiile lui $needle, fără suprapuneri, ținând cont de majuscule. Pentru UTF-8 valid, rezultatul este de obicei același ca la substr_count; diferența apare la alte codări multibyte.

Spre deosebire de substr_count, nu are parametri $offset și $length.

Parametri

Parametru Descriere
$haystack Textul în care se numără.
$needle Textul căutat. Nu poate fi gol.
$encoding Opțional. Codarea textului.

Ce returnează

Numărul de apariții.

Exemple

Exemplul 1: Numărarea unei litere cu diacritice

<?php
$text = "Țară, țărână, Țărăuș";

echo mb_substr_count($text, "ț") . "\n";
echo mb_substr_count(mb_strtolower($text), "ț");

Rezultat

1
3

Greșeli frecvente

  • Te aștepți ca „Ț” și „ț” să fie numărate împreună. Funcția ține cont de majuscule: transformă întâi textul cu mb_strtolower.

Comenzi înrudite

  • substr_count: Numără de câte ori apare un text în alt text.
  • mb_strtoupper / mb_strtolower: Transformă un text în majuscule (mb_strtoupper) sau litere mici (mb_strtolower), inclusiv literele cu diacritice.
  • preg_match_all: Găsește toate potrivirile unei expresii regulate într-un text și le pune într-un tablou.