mb_strstr
mb_strstr($haystack, $needle, $before_needle, $encoding)
Trouve la première occurrence d’un texte et renvoie le reste de la chaîne à partir d’elle, ou avec le troisième paramètre la partie qui la précède. Si le texte n’est pas trouvé, elle renvoie false.
Paramètres
- $haystack – le texte dans lequel chercher.
- $needle – le texte cherché.
- $before_needle – facultatif, true = renvoyer la partie avant le texte trouvé. Par défaut false.
- $encoding – facultatif, l’encodage des caractères. Par défaut mb_internal_encoding().
Exemples
echo mb_strstr("nom@café.exemple", "@"); // @café.exemple
// la partie avant le texte trouvé
echo mb_strstr("nom@café.exemple", "@", true); // nom
var_dump(mb_strstr("abc", "x")); // bool(false)
Points d’attention
- Avec un texte UTF-8, elle donne le même résultat que strstr(). UTF-8 est conçu pour qu’une recherche par octets ne trouve jamais un caractère ailleurs qu’à son début. Elle a surtout un sens avec d’autres encodages, que vous passez en quatrième paramètre.
- Elle est sensible à la casse. mb_stristr() cherche sans tenir compte de la casse.
- Un texte cherché vide : PHP 7.4 affiche un avertissement et renvoie false, PHP 8 renvoie le texte entier.
- Testez le résultat avec !== false.
Fonctions associées :
strstr()
mb_stristr()
mb_strrchr()
mb_strpos()