Comment vérifier si une chaîne contient une sous-chaîne en PHP

Minahil Noor 30 janvier 2023
  1. Utilisez la fonction strpos() pour vérifier si une chaîne contient une sous-chaîne en PHP
  2. Utilisez la fonction preg_match() pour vérifier si une chaîne contient une sous-chaîne en PHP
Comment vérifier si une chaîne contient une sous-chaîne en PHP

Cet article présente différentes méthodes pour vérifier si une chaîne de caractères contient une sous-chaîne en PHP en utilisant les fonctions strpos() et preg_match().

Utilisez la fonction strpos() pour vérifier si une chaîne contient une sous-chaîne en PHP

Nous utiliserons la fonction intégrée strpos() pour vérifier si une chaîne contient une sous-chaîne. Cette commande vérifie l’occurrence d’une sous-chaîne passée ; la syntaxe correcte pour l’exécuter est la suivante :

strpos($originalString, $checkString, $offset);

La fonction intégrée strpos() a trois paramètres, qui sont discutés ci-dessous :

Paramètres Description
$originalString obligatoire C’est la chaîne que nous voulons vérifier pour la sous-chaîne.
$checkString obligatoire C’est la chaîne que nous voulons vérifier dans le $checkString.
$offset facultatif C’est la position de départ du processus de recherche ; si le décalage est négatif, le processus de recherche commencera par la fin.

Cette fonction retourne la position de la sous-chaîne par rapport à la position de la chaîne originale. Le programme ci-dessous montre comment nous pouvons utiliser la fonction strpos() pour vérifier si une chaîne contient une sous-chaîne.

<?php
$mystring = "This is a PHP program.";

if (strpos($mystring, "program.") !== false) {
    echo("True");
}
?>

Production :

True

Si nous passons le paramètre $offset, la fonction lancera la recherche à partir de l’emplacement spécifié.

<?php
$mystring = "This is a PHP program.";

if (strpos($mystring, "PHP", 13) !== false) {
    echo("True");
} else {
    echo("False");
}
?>

Production :

False

La sortie a montré False parce que la chaîne que nous avons recherchée était avant le décalage.

Utilisez la fonction preg_match() pour vérifier si une chaîne contient une sous-chaîne en PHP

En PHP, nous pouvons également utiliser la fonction preg_match() pour vérifier si une chaîne de caractères contient un mot spécifique. Cette fonction utilise des expressions régulières pour faire correspondre des modèles. La syntaxe correcte pour utiliser cette fonction est la suivante :

preg_match($pattern, $inputString, $matches, $flag, $offset);

La fonction preg_match() accepte cinq paramètres. Le détail de ses paramètres est le suivant

Paramètres Description
$regexPattern obligatoire C’est le modèle que nous rechercherons dans la chaîne originale.
$string obligatoire Il s’agit de la chaîne de caractères que nous allons rechercher dans la chaîne originale.
$matches facultatif Ce paramètre enregistre le résultat du processus de comparaison.
$flag facultatif Ce paramètre spécifie les drapeaux. Nous avons deux drapeaux pour ce paramètre : PREG_OFFSET_CAPTURE et PREG_UNMATCHED_AS_NULL.
$offset facultatif Ce paramètre indique la position de départ du processus d’appariement.

Nous utiliserons le motif /{$search}/i pour vérifier un mot spécifique. Le programme qui vérifie si une chaîne de caractères contient un mot spécifique est le suivant :

<?php
$mystring = "This is a php program.";
$search = "a";
if(preg_match("/{$search}/i", $mystring)) {
    echo "True"; } else {
    echo("False");
}
?>

Production :

True

Article connexe - PHP String