Funcția mb_substr_count

Funcția mb_substr_count returnează numărul de apariții ale unui substring într-un șir. Spre deosebire de substr_count, aceasta funcționează corect cu codificări multibyte (UTF-8 și altele). Primul parametru este șirul în care se caută, al doilea este substringul căutat. Al treilea parametru opțional specifică codificarea.

Sintaxă

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

Exemplu

Să numărăm numărul de apariții ale substringului 'ab' în șir:

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

Rezultatul executării codului:

php3

Exemplu

Numărarea aparițiilor cu specificarea codificării UTF-8:

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

Rezultatul executării codului:

php2

Exemplu

Comparație cu substr_count obișnuită pe chirilică:

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

Rezultatul executării codului:

php'substr_count: 3'
'mb_substr_count: 2'

Vedeți și

  • funcția substr_count,
    care numără aparițiile substringului fără suport pentru codificări multibyte
  • funcția mb_strpos,
    care caută poziția primei apariții a substringului