Funkcia mb_substr_count

Funkcia mb_substr_count vráti počet výskytov podreťazca v reťazci. Na rozdiel od substr_count, korektne pracuje s multibajtovými kódovaniami (UTF-8 a inými). Prvým parametrom sa odovzdáva reťazec pre vyhľadávanie, druhým - hľadaný podreťazec. Tretí voliteľný parameter nastavuje kódovanie.

Syntax

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

Príklad

Spočítajme počet výskytov podreťazca 'ab' v reťazci:

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

Výsledok vykonania kódu:

php3

Príklad

Počítanie výskytov so zadaním kódovania UTF-8:

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

Výsledok vykonania kódu:

php2

Príklad

Porovnanie s obyčajnou substr_count na cyrilike:

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

Výsledok vykonania kódu:

php'substr_count: 3'
'mb_substr_count: 2'

Pozrite tiež

  • funkciu substr_count,
    ktorá počíta výskyty podreťazca bez podpory multibajtových kódovaní
  • funkciu mb_strpos,
    ktorá hľadá pozíciu prvého výskytu podreťazca