Les expressions régulières, ou REGEX (Regular Expressions), sont un outil puissant en programmation permettant de rechercher, vérifier ou manipuler du texte grâce à des motifs définis. En PHP, elles sont souvent utilisées pour valider des entrées utilisateurs, extraire des données ou transformer des chaînes de caractères. Bien qu’elles puissent paraître complexes au premier abord, elles deviennent vite indispensables dès qu’il s’agit de travailler sur du texte.
Les deux moteurs REGEX en PHP
PHP propose deux familles de fonctions pour travailler avec les REGEX :
POSIX (ereg, eregi, etc.) : aujourd’hui obsolètes, elles ne sont plus recommandées.
PCRE (Perl Compatible Regular Expressions) : basées sur la syntaxe de Perl, elles sont modernes, rapides et puissantes. Elles utilisent la fonction preg_....
Toutes les fonctions actuelles recommandées en PHP commencent par preg_.
Les fonctions principales
Voici quelques fonctions essentielles que tu rencontreras souvent :
preg_match() : Vérifie si une chaîne correspond à un motif.
preg_match_all() : Récupère toutes les correspondances dans une chaîne.
preg_replace() : Remplace des morceaux de texte correspondant à un motif.
preg_split() : Découpe une chaîne en fonction d’un motif.
Exemple simple avec preg_match()
<?php $texte = "Mon email est exemple@test.com"; if (preg_match("/[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}/i", $texte, $match)) { echo "Email trouvé : " . $match[0]; } ?>
Ici, on vérifie si le texte contient une adresse e-mail valide et on l’affiche.
Exemple avec preg_replace()
<?php $phrase = "Bonjour 123 monde 456"; $nettoye = preg_replace("/[0-9]", "", $phrase); echo $nettoye; // Affiche : Bonjour monde ?>
Cet exemple supprime tous les chiffres d’une phrase.
Avantages des REGEX
Validation de formulaires (emails, numéros de téléphone, codes postaux…).
Extraction de données précises dans un texte (URLs, balises HTML, mots-clés…).
Transformation avancée de chaînes (suppression, remplacement, nettoyage).
Conseils pratiques
Utilise toujours des délimiteurs (/motif/) dans tes REGEX.
Le modificateur i rend la recherche insensible à la casse.
Le modificateur m gère les recherches multi-lignes.
Teste toujours tes REGEX avec des outils comme regex101.com.
Conclusion
Les REGEX en PHP sont un outil redoutable pour manipuler des chaînes de caractères de manière flexible et puissante. Même si leur syntaxe demande un peu de pratique, elles permettent de résoudre en quelques lignes de code des problèmes qui seraient bien plus complexes autrement.
En résumé, que ce soit pour valider une saisie utilisateur, extraire des informations ou transformer du texte, les expressions régulières devraient faire partie de la boîte à outils de tout développeur PHP.