Fonction mb_substr_count
La fonction mb_substr_count retourne le nombre d'occurrences d'une sous-chaîne dans une chaîne. Contrairement à substr_count, elle fonctionne correctement avec les encodages multioctets (UTF-8 et autres). Le premier paramètre est la chaîne dans laquelle chercher, le second est la sous-chaîne recherchée. Le troisième paramètre optionnel spécifie l'encodage.
Syntaxe
mb_substr_count(string $haystack, string $needle, ?string $encoding = null): int
Exemple
Comptons le nombre d'occurrences de la sous-chaîne 'ab' dans la chaîne :
<?php
$res = mb_substr_count('abcdeabab', 'ab');
echo $res;
?>
Résultat de l'exécution du code :
3
Exemple
Comptage des occurrences avec spécification de l'encodage UTF-8 :
<?php
$res = mb_substr_count('привет мир', 'ир', 'UTF-8');
echo $res;
?>
Résultat de l'exécution du code :
2
Exemple
Comparaison avec la fonction substr_count standard sur du cyrillique :
<?php
$str = 'тест тест';
echo 'substr_count: ' . substr_count($str, 'те') . '<br>';
echo 'mb_substr_count: ' . mb_substr_count($str, 'те', 'UTF-8');
?>
Résultat de l'exécution du code :
'substr_count: 3'
'mb_substr_count: 2'
Voir aussi
-
la fonction
substr_count,
qui compte les occurrences d'une sous-chaîne sans prise en charge des encodages multioctets -
la fonction
mb_strpos,
qui cherche la position de la première occurrence d'une sous-chaîne