Ah, les expressions régulières (REGEX)… Ce langage secret que seuls les devs chevronnés ou les moines shaolin du code semblent comprendre du premier coup. 😅 Tu tapes trois symboles bizarres et boum, ton programme trouve toutes les adresses e-mails du monde. Magique !
En PHP, le fidèle compagnon pour jouer avec les REGEX, c’est preg_match(). Et croyez-moi, une fois que vous l’avez dompté, vous vous sentirez comme Gandalf lançant des sorts sur des chaînes de caractères.
🧩 Mais à quoi ça sert ?
preg_match() est la fonction qui permet de vérifier si un texte correspond à un motif REGEX. En gros : tu donnes une règle, tu donnes une phrase, et PHP te dit si ça colle ou pas.
C’est comme un Tinder pour chaînes de caractères : swipe à gauche si ça matche pas, swipe à droite si ça matche. 😂
👨💻 Exemple concret
<?php $texte = "Mon email est geek@korben.com"; if (preg_match("/[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}/i", $texte, $match)) { echo "Email trouvé : " . $match[0]; } ?>
👉 Ici, PHP va chercher une adresse e-mail dans le texte.
Si ça matche, il renvoie :
Email trouvé : geek@korben.com
Pratique pour vérifier si ton utilisateur met bien un mail valide et pas jesuisunemangue@lol (oui, je l’ai déjà vu en vrai 🍌).
Anecdote de geek
Fun fact : les REGEX sont tellement puissantes qu’en 2011, un bug de REGEX mal fichu a fait tomber... le site de Stack Overflow pendant quelques heures. Oui, le temple des devs s’est auto-crashé à cause d’une REGEX. Moralité : testez vos regex avant de jouer à l’apprenti sorcier. 🧙♂️
Résumé
preg_match() = pour trouver une occurrence dans une chaîne.
Tu lui files une REGEX et un texte.
Il te renvoie true/false et stocke le match dans un tableau (si trouvé).
👉 Prochain article de la série : preg_replace() ou comment remplacer des gros mots par des 🦄 et des 🐬 sans transpirer !