Aller au contenu

Expressions régulières PHP

PHP est un langage de script côté serveur puissant qui permet aux développeurs de créer des pages web dynamiques et interactives. L'une de ses fonctionnalités les plus utiles est son support des expressions régulières, qui offrent un moyen de faire correspondre des motifs dans des chaînes de caractères.

Qu'est-ce que les expressions régulières ?

Les expressions régulières sont des séquences de caractères qui définissent un motif de recherche. Elles sont utilisées pour faire correspondre et manipuler des chaînes de caractères, et peuvent s'avérer un outil puissant pour valider les saisies utilisateur, rechercher dans du texte, et bien plus encore.

Comment fonctionnent les expressions régulières dans PHP

Dans PHP, les expressions régulières sont prises en charge grâce à la famille de fonctions preg_. Ces fonctions vous permettent d'effectuer diverses opérations avec des expressions régulières, notamment la recherche, le remplacement et le fractionnement de chaînes.

Fonctions preg_ courantes

FonctionDescription
preg_match()Recherche une correspondance dans une chaîne, retourne true ou false
preg_match_all()Recherche toutes les correspondances dans une chaîne, retourne le nombre de correspondances trouvées
preg_replace()Recherche des correspondances dans une chaîne et les remplace par une chaîne spécifiée
preg_split()Fractionne une chaîne en un tableau en fonction d'un motif d'expression régulière

Les bases des expressions régulières en PHP

La syntaxe de base d'une expression régulière PHP est la suivante :

Syntaxe d'expression régulière PHP

php
/pattern/modifiers

pattern est la séquence de caractères à faire correspondre, et modifiers sont des lettres optionnelles qui modifient le comportement de l'expression régulière. Parmi les modificateurs les plus couramment utilisés en PHP, on trouve :

  • i: Rend l'expression régulière insensible à la casse
  • m: Traite la chaîne comme plusieurs lignes
  • s: Traite la chaîne comme une seule ligne
  • u: Traite la chaîne comme encodée en UTF-8

Expression régulière PHP pour remplacer du texte

php
<?php

$text = "Hello World";
$result = preg_replace("/World/", "PHP", $text);
echo $result; // Outputs: Hello PHP

?>

Utiliser les expressions régulières PHP pour valider les saisies utilisateur

L'une des utilisations les plus courantes des expressions régulières en PHP est de valider les saisies utilisateur. Par exemple, vous pouvez utiliser une expression régulière pour vous assurer qu'une adresse e-mail saisie par l'utilisateur est au bon format. Le code suivant montre comment procéder :

Expression régulière PHP pour vérifier qu'une adresse e-mail saisie est au bon format

php
<?php

$email = "[email protected]";
if (preg_match("/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/", $email)) {
    echo "Valid email address";
} else {
    echo "Invalid email address";
}

?>

Remarque : Bien que cette regex fonctionne pour une validation de base, PHP fournit la fonction intégrée filter_var($email, FILTER_VALIDATE_EMAIL) pour une validation d'e-mail plus robuste et conforme à la RFC.

Techniques avancées pour les expressions régulières PHP

Bien que les bases des expressions régulières PHP soient simples, il existe de nombreuses techniques avancées que vous pouvez utiliser pour perfectionner vos compétences. Celles-ci incluent :

  • Utiliser des groupes de capture pour extraire des parties spécifiques d'une correspondance
  • Utiliser des groupes non capturs pour regrouper des motifs
  • Utiliser les assertions de lookahead et lookbehind pour faire correspondre des motifs en fonction de ce qui les précède ou les suit
  • Utiliser l'alternance pour faire correspondre plusieurs motifs
  • Utiliser des quantificateurs pour faire correspondre un nombre spécifique de répétitions d'un motif

Expression régulière PHP avec groupes de capture

php
<?php

$text = "Order #12345 placed on 2023-10-01";
if (preg_match("/Order #(\d+)/", $text, $matches)) {
    echo "Order ID: " . $matches[1]; // Outputs: Order ID: 12345
}

?>

Conclusion

Les expressions régulières PHP sont un outil puissant qui peut vous aider à accomplir une grande variété de tâches. Que vous validiez des saisies utilisateur, recherchiez dans du texte ou effectuiez des manipulations de chaînes complexes, les expressions régulières font partie intégrante de la boîte à outils du développeur PHP.

Pratique

Quelles sont les utilisations des expressions régulières en PHP telles que mentionnées dans l'article lié ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.