Utilisation de la fonction preg_match() en PHP

Use Preg_match Function Php



L'expression régulière est un modèle particulier qui peut être utilisé pour faire correspondre, rechercher et remplacer n'importe quelle chaîne particulière dans les données de texte. C'est une fonctionnalité puissante de tout langage de programmation. Il est principalement utilisé pour effectuer différents types de validations de formulaire, telles que la validation de l'e-mail, la vérification du format du téléphone, la validation des champs nom d'utilisateur et mot de passe du formulaire de connexion, etc. Tout contenu particulier du texte peut être recherché et remplacé à l'aide d'une expression régulière. modèle. Il est également appelé regex ou RegExp. Différents types de symboles sont utilisés pour définir le modèle regex.

De nombreuses fonctions intégrées existent en PHP pour l'expression régulière. La fonction preg_match() est l'une d'entre elles. Cette fonction est utilisée pour faire correspondre un modèle particulier dans les données de chaîne. Comment la fonction preg_match() peut être utilisée en PHP pour effectuer diverses tâches est expliquée dans ce tutoriel.







Syntaxe:

Int oufaux preg_match (chaîne de caractères$motif,chaîne de caractères$sujet [, déployer &$correspondance = nul [,entier$drapeaux = 0 [,entier$compensation = 0]]])

Cette fonction peut prendre cinq arguments. Le premier argument, $motif , est obligatoire, ce qui définit le modèle de correspondance. Le deuxième argument, $sujet , est obligatoire et contient les données de chaîne dans lesquelles le modèle sera appliqué. Le troisième argument, $correspondance , est facultatif et renvoie un tableau basé sur la correspondance. Le quatrième argument, $drapeaux , est facultatif et contient différents types de valeurs d'indicateur en fonction de la correspondance. Le cinquième argument, $compensation , est facultatif et peut être utilisé pour définir la position de départ de la recherche.



Exemple 1 : Faites correspondre le modèle de manière sensible à la casse et insensible à la casse

L'exemple suivant montre l'utilisation de la fonction preg_match() pour faire correspondre la chaîne de manière sensible à la casse et insensible à la casse. Créez un fichier PHP avec le script suivant.



Ici, trois modèles sont utilisés pour l'application dans trois fonctions preg_match(). Le premier modèle, '/Comme/', est utilisé pour faire correspondre la chaîne d'une manière sensible à la casse. Le deuxième modèle, '/Comme/' , est utilisé pour faire correspondre la chaîne de manière sensible à la casse. Le troisième modèle, 'Comme je' , est utilisé pour faire correspondre la chaîne sans tenir compte de la casse. search_pattern() La fonction est définie dans le script pour utiliser la fonction preg_match() pour la correspondance, et elle imprime le message en fonction de la valeur renvoyée par cette fonction.







//Définir le texte

$texte = « J'aime PHP. J'aime aussi JavaScript.';

//Définir trois types de motif

$motif1 = '/Comme/';

$motif2 = '/Comme/';

$motif3 = '/Comme je';

//Définir la fonction pour rechercher le motif dans le texte

fonctionmodèle_de_recherche($motif, $chaîne)

{

si( preg_match ($motif, $chaîne))

chassèrent 'Résultat de la recherche: Une correspondance est trouvée pour le motif -$motif
'
;

autre

chassèrent 'Résultat de la recherche: La correspondance n'est pas trouvée pour le modèle -$motif
'
;

}

//Imprime le texte d'origine

chassèrent 'Le texte original est : $texte
'
;

//Appelez la fonction trois fois pour trois modèles

modèle_de_recherche($motif1, $texte);

modèle_de_recherche($motif2, $texte);

modèle_de_recherche($motif3, $texte);

?>

Sortir :

La sortie suivante apparaîtra après l'exécution du script à partir du serveur. La première ligne montre le texte où les motifs ont été recherchés. La deuxième ligne montre la sortie du premier motif. La troisième ligne montre la sortie du deuxième motif. La quatrième ligne montre la sortie du troisième motif.



Exemple 2 : valider l'URL

L'exemple suivant montre comment valider l'adresse URL à l'aide de la fonction preg_match(). Créez un fichier PHP avec le script suivant.

Une valeur d'URL est affectée dans la variable $url pour le test. La chaîne '@^(?:https://)?([^/]+)@i' est utilisée comme modèle dans la fonction preg_match() pour vérifier si l'adresse URL est valide ou non. S'il est valide, alors le nom d'hôte et le nom de domaine seront imprimés, sinon, le message d'erreur sera imprimé.



//Définition de l'URL

$url = 'https://www.linuxhint.com';

//Définir le modèle de validation de l'URL

$motif ='@^(?:https://)?([^/]+)@i';

//Vérifiez que l'URL est valide ou non

si( preg_match ($motif, $url, $matches1))

{

//Imprime le message de réussite

chassèrent 'L'URL est valide.
'
;

//Imprime le tableau qui contient les valeurs de correspondance

chassèrent 'Les valeurs du tableau sont : ';

print_r ($matches1);

//Récupération et impression de la valeur de l'hôte

$hôte = $matches1[1];

chassèrent '
Le nom d'hôte est :$hôte'
;

//Rechercher le nom de domaine à partir de la valeur de l'hôte

preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', $hôte, $matches2);

chassèrent '
Le nom de domaine est :{$matches2[0]}'
;

}

autre

{

//Imprime le message d'erreur

chassèrent 'URL invalide.';

}

?>

Sortir :

La sortie suivante apparaîtra après l'exécution du script à partir du serveur. L'URL fournie dans le script est valide. Ainsi, la sortie affiche les valeurs de $matches, le nom d'hôte de l'URL et le nom de domaine de l'URL.

Exemple 3 : modèle de recherche avec des valeurs d'indicateur et de décalage

L'exemple suivant montre les utilisations des valeurs d'indicateur et de décalage dans la fonction preg_match(). Créez un fichier PHP avec le script suivant.

Trois modèles sont utilisés dans le script pour trois types de correspondance. Dans la première fonction preg_match(), '/(bangla)(desh)/' est utilisé comme motif et la valeur du drapeau, PREG_OFFSET_CAPTURE est utilisé. Les valeurs de la $correspondance La variable s'imprimera en fonction de la sortie de la première fonction preg_match(). Dans la deuxième fonction preg_match(), '/(bangla)(glad)*(desh)/i', est utilisé comme motif et la valeur du drapeau, PREG_UNMATCHED_AS_NULL est utilisé. Si une partie du motif ne correspond pas, une valeur NULL sera stockée dans le tableau. Les valeurs de la $correspondance La variable s'imprimera en fonction de la sortie de la deuxième fonction preg_match(). Dans la troisième fonction preg_match(), '/glad/' est utilisé comme motif, la valeur du drapeau, PREG_OFFSET_CAPTURE est utilisé et 3 est utilisé comme valeur de décalage. Les valeurs de la $correspondance La variable s'imprimera en fonction de la sortie de la troisième fonction preg_match().



//Définir la valeur du texte

$texte = « Bangladesh »;

//Définir trois types de motifs

$motif1 = '/ (bangla) (desh) / je';

$motif2 = '/ (bangla) (heureux) * (desh) / je';

$motif3 = '/content de/';


//Utilisation de l'indicateur PREG_OFFSET_CAPTURE

preg_match ($motif1, $texte, $correspondance,PREG_OFFSET_CAPTURE);

chassèrent '
';  

print_r ($matches);

echo '

'
;

//Utilisation de l'indicateur PREG_UNMATCHED_AS_NULL

preg_match ($motif2, $texte, $correspondance,PREG_UNMATCHED_AS_NULL);

chassèrent '
';  

print_r ($matches);

echo '

'
;

//Utilisation de l'indicateur PREG_OFFSET_CAPTURE et de la valeur de décalage

preg_match ($motif3, $texte, $correspondance,PREG_OFFSET_CAPTURE, 3);

chassèrent '
';  

print_r ($matches);

echo '
'
;

?>

Sortir :

La sortie suivante apparaîtra après l'exécution du script à partir du serveur.

Conclusion

Les utilisations de la fonction preg_match() ont été expliquées dans ce tutoriel à l'aide de plusieurs exemples. Les utilisations des différents arguments de cette fonction ont également été montrées ici. Les lecteurs pourront utiliser correctement cette fonction dans leur script après avoir lu ce tutoriel.