J'ai besoin d'obtenir l'adresse email d'une ancre avec un attribut mailto avec regex.preg_match pour extraire mailto sur l'ancre
ce modèle: (.*)<a\s(.*?)(.*)\s*href\=['"]mailto:([-a-z0-9_]+)@([a-z0-9-]+).([a-z]+)['"]>(.*)</a>(.*)
Travaux en autocar regex si cela ne fonctionne pas avec PHP.
code:
preg_match("'(.*)<a (.*?)(.*) *href\=['\"]mailto:([-a-z0-9_]+)@([a-z0-9-]+).([a-z]+)['\"]>(.*)</a>(.*)'si", "<a href=\"mailto:[email protected]\"">Some email</a>", $matches);
print_r($matches);
Alors pourquoi doenst il fonctionne en php?
Comme une note de côté: vous devrez ajouter '+' comme un personnage dans votre classe de personnage :([-a-z0-9 _] +) parce que certaines personnes les utilisent pour filtrer les déclencheurs dans les adresses e-mail, par exemple foo + [email protected] – Keng
Tous ces '. *' entraîneront un comportement de performance horrible. – Gumbo
note de côté: bien que rare, il est parfaitement acceptable d'avoir une adresse e-mail comme: hell.o \ @ world @ two.ats.com Vous feriez mieux de tirer pour une regex plus simple, à moins qu'il y ait un problème de sécurité avec le emails. Cela dépend de ce que vous faites avec em. – DampeS8N