Points de base
preg_match()
, preg_replace()
et preg_match_all()
pour appliquer des expressions régulières. Ces fonctions peuvent vérifier les champs de formulaire, le texte de format et d'extraire les tableaux d'informations des chaînes, respectivement. ^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+.[A-Za-z]{2,4}$
Ce code semble aussi difficile à comprendre que les anciens hiéroglyphes égyptiens, mais c'est en fait un modèle d'expression régulière pour faire correspondre des adresses e-mail telles que oleomarg32@hotmail.com
, Fiery.Rebel@veneuser.info
, robustlamp selfmag@gmail.ca
, etc. Cet article présentera les bases des expressions régulières et leur application en PHP.
débutant de la notation d'expression régulière
décomposons l'exemple ci-dessus un par un: ^[A-Za-z0-9-_. %] @[A-Za-z0-9-.] .[A-Za-z]{2,4}$
^
: Faites correspondre le début de la chaîne. [A-Za-z0-9-_. %]
: Faites correspondre une ou plusieurs lettres, chiffres ou caractères spéciaux (-_.%). Bracets carrés []
Définissez les jeux de caractères.
Le quantificateur signifie "au moins un". @
: Faites littéralement correspondre au symbole "@". [A-Za-z0-9-.]
: Faites correspondre une ou plusieurs lettres, chiffres ou points (.). .
: Match littéral "." [A-Za-z]{2,4}
: Faites correspondre 2 à 4 lettres. Braces {}
Spécifie le nombre de répétitions. $
: Faites correspondre la fin de la chaîne. Si vous remplacez le premier quantificateur
par *
, par exemple:
^[A-Za-z0-9-_.+%]*@[A-Za-z0-9-.]+.[A-Za-z]{2,4}
peut faire correspondre des chaînes comme @SodaCanDrive.com
parce que le quantificateur *
signifie "zéro ou plus".
Expressions régulières en php
Après avoir compris la notation d'expression régulière, voyons comment l'utiliser dans PHP. PHP fournit plusieurs fonctions pour gérer les expressions régulières: preg_match()
, preg_replace()
et preg_match_all()
.
preg_match()
preg_match()
Utilisé pour vérifier s'il existe un modèle correspondant dans la chaîne. Renvoie 1 si une correspondance est trouvée, sinon renvoie 0.
<?php if (preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+.[A-Za-z]{2,4}$/', $_POST["emailAddy"])) { echo "Email address accepted"; } else { echo "Email address is all broke."; } ?>
Notez que les expressions régulières sont enveloppées de slash /
comme délimiteur.
preg_replace()
preg_replace()
utilisé pour trouver et remplacer les modèles de correspondance.
^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+.[A-Za-z]{2,4}$
U
Le modificateur rend les expressions régulières correspondant aux non-fous. Les supports ()
sont utilisés pour capturer le texte correspondant, et 1
est un rétablissement qui fait référence au premier groupe capturé.
preg_match_all()
preg_match_all()
utilisé pour trouver tous les modèles de correspondance dans une chaîne et stocker les résultats dans un tableau.
^[A-Za-z0-9-_.+%]*@[A-Za-z0-9-.]+.[A-Za-z]{2,4}
i
Le modificateur signifie insensible au cas.
Cet article ne présente que les bases des expressions régulières, des usages plus avancés, tels que les prospects, les victoires de l'arrière et les back-références plus complexes, veuillez vous référer à la documentation officielle du PHP.
Images de Boris Mrdja / Shutterstock
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!