Comment vérifier si une chaîne contient une sous-chaîne en PHP
-
Utilisez la fonction
strpos()
pour vérifier si une chaîne contient une sous-chaîne en PHP -
Utilisez la fonction
preg_match()
pour 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
- Comment supprimer tous les espaces d'une chaîne de caractères en PHP
- Comment convertir la date et l'heure en chaîne de caractères en PHP
- Comment convertir une chaîne de caractères en date et en heure en PHP
- Comment convertir un entier en chaîne de caractères en PHP
- Comment convertir un tableau en chaîne de caractères en PHP
- Comment convertir une chaîne de caractères en un numéro en PHP