Funktionen mb_substr_count

Funktionen mb_substr_count returnerar antalet förekomster av en delsträng i en sträng. Till skillnad från substr_count fungerar den korrekt med multibyte-kodningar (UTF-8 och andra). Den första parametern är strängen att söka i, den andra är delsträngen som söks. Den tredje valfria parametern anger kodningen.

Syntax

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

Exempel

Låt oss räkna antalet förekomster av delsträngen 'ab' i strängen:

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

Resultat av kodkörning:

php3

Exempel

Räkna förekomster med specificering av UTF-8-kodning:

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

Resultat av kodkörning:

php2

Exempel

Jämförelse med vanlig substr_count på kyrilliska:

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

Resultat av kodkörning:

php'substr_count: 3'
'mb_substr_count: 2'

Se även

  • funktionen substr_count,
    som räknar förekomster av delsträngar utan stöd för multibyte-kodningar
  • funktionen mb_strpos,
    som söker positionen för den första förekomsten av en delsträng