Comment vérifier la présence d'une chaîne de caractères dans une autre chaîne de caractères

Il arrive parfois que nous avons besoin de savoir si une chaîne de caractères est présente dans une autre chaîne de caractères. PHP a une fonction bien pratique pour exécuter ce test, la fonction strpos() ou la version insensible à la casse stripos().

La fonction strpos()

Voici un exemple d'utilisation de la fonction strpos() pour vérifier la présence d'une chaîne de caractères dans une autre chaîne de caractères.

$chaine = 'Je suis la chaîne à tester. Vive PHP';
$sous_chaine = 'PHP'
if (strpos($chaine, $sous_chaine) !== FALSE) {
  echo 'La sous-chaine PHP est présente dans la variable chaine";
}

Sensibilité à la casse - stripos()

On va reprendre l'exemple ci-dessus, mais nous allons chercher la présence du mot vive au lieu de PHP.

$chaine = 'Je suis la chaîne à tester. Vive PHP';
$sous_chaine = 'vive'
if (strpos($chaine, $sous_chaine) !== FALSE) {
  echo 'La sous-chaine vive est présente dans la variable chaine";
}

Ici, l'exemple n'affichera rien à l'écran car la fonction strpos() est sensible à la casse (fait la différence entre les majuscules et les minuscules). Pour pallier à ce problème nous avons une autre fonction de PHP qui est disponible. Celle-ci est insensible à la casse, il s'agit de la commande stripos(). Elle a la même syntaxe et le même rôle que strpos(). Voici l'exemple avec la fonction stripos() :

$chaine = 'Je suis la chaîne à tester. Vive PHP';
$sous_chaine = 'vive'
if (stripos($chaine, $sous_chaine) !== FALSE) {
  echo 'La sous-chaine vive est présente dans la variable chaine";
}

Ici, s'affichera à l'écran le message pour indiquer qu'il a bien trouver la chaîne de caractères recherchée.

Note de version

  • [06/12/2017] : Création de l'article

Auteurs et sources