Bonsoir,
J'avais un problème avec les regex pour trouver une URL (voir ici). Voilà que j'en ai encore un avec une recherche de mail... Je comprend pas. Pourtant, j'avais fini par comprendre mon erreur avec les URL mais bon.
Voilà donc ma fonction de regex :
Voici le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function replaceMail($theText) { $expreg = "`"; // Début de ligne $expreg .= "([a-zA-Z0-9]\._-)+"; // L'utilisateur, peut comporter un "_", ".", "-", obligatoire au moins une lettre $expreg .= "@"; // L'arobase, obligatoire $expreg .= "(([a-zA-Z0-9])*\.)+"; // Le domaine ou sous-domaine, alphanum, présent au moins une fois $expreg .= "[a-zA-Z]{2,4}"; // l'extention, mini 2 et maxi 3 caractères $expreg .= "`"; // Fin de ligne return preg_replace($expreg, "¤Mail¤", $theText); }
D'après le résultat, je comprends bien qu'il y a un problème soit au niveau de l'utilisateur soit au niveau de l'arobase. J'ai donc essayé d'enlevé les point, underscore et tiret, mais ça change rien, même résultat. Au niveau de l'arobase, je sais pas quoi faire de plus.truc@machin.com --> truc@¤Mail¤
truc-truc@machin.com --> truc-truc@¤Mail¤
Quelqu'un pourrait me dire ce que j'ai mal fait et me l'expliquer ? Merci d'avance.
Partager