Funksjonen mb_substr_count

Funksjonen mb_substr_count returnerer antall forekomster av en delstreng i en streng. I motsetning til substr_count, fungerer den korrekt med flerbyte-tegnkodinger (UTF-8 og andre). Den første parameteren er strengen som skal søkes i, den andre er delstrengen som søkes etter. Den tredje valgfrie parameteren angir tegnkodingen.

Syntaks

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

Eksempel

La oss telle antall forekomster av delstrengen 'ab' i strengen:

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

Resultat av kjøring av koden:

php3

Eksempel

Telling av forekomster med spesifisering av UTF-8 koding:

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

Resultat av kjøring av koden:

php2

Eksempel

Sammenligning med vanlig substr_count på kyrilliske tegn:

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

Resultat av kjøring av koden:

php'substr_count: 3'
'mb_substr_count: 2'

Se også

  • funksjonen substr_count,
    som teller forekomster av delstreng uten støtte for flerbyte-tegnkodinger
  • funksjonen mb_strpos,
    som søker etter posisjonen til den første forekomsten av en delstreng