Expression régulière PHP / Regex: preg_match () - preg_replace ()

Table des matières:

Anonim

Qu'est-ce que l'expression régulière en PHP?

Les expressions régulières PHP également connues sous le nom de regex sont de puissants algorithmes de correspondance de modèles pouvant être exécutés dans une seule expression. Les expressions régulières utilisent des opérateurs arithmétiques tels que (+, -, ^) pour créer des expressions complexes. Ils peuvent vous aider à accomplir des tâches telles que la validation des adresses e-mail, de l'adresse IP, etc.

Pourquoi utiliser des expressions régulières

  • Les expressions régulières PHP simplifient l'identification des modèles dans les données de chaîne en appelant une seule fonction. Cela nous fait gagner du temps de codage.
  • Lors de la validation des entrées utilisateur telles que l'adresse e-mail, les noms de domaine, les numéros de téléphone, les adresses IP,
  • Mettre en évidence les mots-clés dans les résultats de recherche
  • Lors de la création d'un modèle HTML personnalisé. Regex en PHP peut être utilisé pour identifier les balises de modèle et les remplacer par des données réelles.

Dans ce didacticiel PHP Regex, vous apprendrez:

  • Fonctions d'expressions régulières intégrées en PHP
  • PHP Preg_match ()
  • PHP Preg_split ()
  • PHP Preg_replace ()
  • Métacaractères d'expression régulière
  • Expliquer le modèle

Fonctions d'expressions régulières intégrées en PHP

PHP a intégré des fonctions qui nous permettent de travailler avec des fonctions régulières que nous apprendrons dans ce tutoriel sur les expressions régulières PHP. Regardons les fonctions d'expression régulière couramment utilisées en PHP.

  • preg_match () en PHP - cette fonction est utilisée pour effectuer une correspondance de modèle en PHP sur une chaîne. Il renvoie true si une correspondance est trouvée et false si aucune correspondance n'est trouvée.
  • preg_split () en PHP - cette fonction est utilisée pour effectuer une correspondance de modèle sur une chaîne, puis diviser les résultats en un tableau numérique
  • preg_replace () en PHP - cette fonction est utilisée pour effectuer une correspondance de modèle sur une chaîne, puis remplacer la correspondance par le texte spécifié.

Vous trouverez ci-dessous la syntaxe d'une fonction d'expression régulière telle que PHP preg_match (), PHP preg_split () ou PHP preg_replace ().

ICI,

  • "function_name (…)" est soit PHP preg_match (), PHP preg_split () ou PHP preg_replace ().
  • "/… /" Les barres obliques indiquent le début et la fin de notre fonction de testeur d'expression régulière PHP
  • "'/ pattern /'" est le modèle que nous devons mettre en correspondance
  • "sujet" est la chaîne de texte à comparer

Regardons maintenant des exemples pratiques qui implémentent les fonctions de regex PHP ci-dessus.

PHP Preg_match ()

Le premier exemple utilise la fonction preg_match () en PHP pour effectuer une correspondance de modèle simple pour le mot guru dans une URL donnée.

Le code ci-dessous montre l'implémentation de la fonction de test preg_match () pour l'exemple ci-dessus.

Accédez à l'URL http: //localhost/phptuts/preg_match_simple.php

Examinons la partie du code responsable de notre sortie "preg_match ('/ guru /', $ my_url)" ICI,

  • "preg_match (…)" est la fonction d'expression régulière PHP
  • "'/ guru /'" est le modèle d'expression régulière à mettre en correspondance
  • "$ my_url" est la variable contenant le texte à comparer.

Le schéma ci-dessous résume les points ci-dessus

PHP Preg_split ()

Regardons maintenant un autre exemple qui utilise la fonction preg_split () dans la fonction PHP.

Nous prendrons une phrase de chaîne et la décomposerons en un tableau; le motif à mettre en correspondance est un seul espace.

La chaîne de texte à utiliser dans cet exemple est "I Love Regular Expressions".

Le code ci-dessous illustre l'implémentation de l'exemple ci-dessus.

Accédez à l'URL http: //localhost/phptuts/preg_split.php

PHP Preg_replace ()

Regardons maintenant la fonction preg_replace () en PHP qui effectue une correspondance de modèle, puis remplace le modèle par autre chose.

Le code ci-dessous recherche le mot guru dans une chaîne.

Il remplace le mot gourou par le mot gourou entouré d'un code css qui met en évidence la couleur d'arrière-plan.

En supposant que vous ayez enregistré le fichier preg_replace.php, naviguez vers l'URL http: //localhost/phptuts/preg_replace.php

Métacaractères d'expression régulière

Les exemples ci-dessus utilisaient des modèles très basiques; Les métacaractères nous permettent simplement d'effectuer des correspondances de modèles plus complexes telles que tester la validité d'une adresse e-mail. Regardons maintenant les métacaractères couramment utilisés.

Métacaractère Description Exemple
. Correspond à n'importe quel caractère unique sauf une nouvelle ligne /./ correspond à tout ce qui a un seul caractère
^ Correspond au début ou à la chaîne / exclut les caractères / PH / correspond à toute chaîne commençant par PH
$ Correspond au motif à la fin de la chaîne / com $ / correspond à guru99.com, yahoo.com Etc.
* Correspond à n'importe quel zéro (0) ou plus de caractères / com * / correspond à l'ordinateur, à la communication, etc.
+ Nécessite que le ou les caractères précédents apparaissent au moins une fois / yah + oo / correspond à yahoo
\ Utilisé pour échapper aux méta-caractères /yahoo+\.com/ traite le point comme une valeur littérale
[…] Classe de caractère / [abc] / correspond à abc
az Correspond aux lettres minuscules / az / correspond à cool, heureux etc.
AZ Correspond aux lettres majuscules / AZ / correspond à QUOI, COMMENT, POURQUOI etc.
0-9 Correspond à n'importe quel nombre entre 0 et 9 / 0-4 / correspond à 0,1,2,3,4

La liste ci-dessus ne donne que les métacaractères les plus couramment utilisés dans les expressions régulières.

Regardons maintenant un exemple assez complexe qui vérifie la validité d'une adresse e-mail.

Expliquer le modèle "[/^[a-zA-Z0-9._- +@[a-zA-Z0-9-[/ .+\.[a-zA-Z.[/) "

ICI,

  • "'/… /'" Démarre et termine l'expression régulière
  • "[a-zA-Z0-9 ._-]" correspond à toutes les lettres minuscules ou majuscules, les nombres entre 0 et 9 et les points, les traits de soulignement ou les tirets.
  • "+ @ [a-zA-Z0-9-]" correspond au symbole @ suivi de lettres minuscules ou majuscules, de chiffres entre 0 et 9 ou de tirets.
  • "+ \. [a-zA-Z.] {2,5} $ /" échappe le point à l'aide de la barre oblique inverse puis fait correspondre toutes les lettres minuscules ou majuscules avec une longueur de caractère comprise entre 2 et 5 à la fin de la chaîne.

Accédez à l'URL http: //localhost/phptuts/preg_match.php

Comme vous pouvez le voir dans l'exemple ci-dessus, les métacaractères sont très puissants lorsqu'il s'agit de faire correspondre des modèles.

Résumé

  • Une expression régulière ou Regex en PHP est un algorithme de correspondance de modèle
  • Les expressions régulières sont très utiles lors des contrôles de validation, de la création de systèmes de modèles HTML qui reconnaissent les balises, etc.
  • PHP a intégré des fonctions à savoir PHP preg_match (), PHP preg_split () et PHP preg_replace () qui prennent en charge les expressions régulières.
  • Les métacaractères nous permettent de créer des motifs complexes