negative Regex sur des liens
Bonjour à tous,
J'ai un texte au format html en entrée contenant divers liens <a href=""></a>. Le format peut être différent dans le sens où href peut être le deuxième paramètre de a. Ainsi qu'il ne faut pas que ce soit sensible à la casse.
J'essaie actuellement d'ajouter sur tous les liens dont le href ne commence pas par "mailto:" ou "tel:"
Code:
1 2 3 4
| <a href="tel:+3300000000">+3300000000</a> // Ne doit pas contenir le target="_blank"
<a href="mailto:toto@tata.com">toto</a> // Ne doit pas contenir le target="_blank"
<a href="http://salut.com">salut</a> // Doit contenir le target="_blank"
<a href="../index">salut</a> // Doit contenir le target="_blank" |
Voici mon code actuellement :
Code:
1 2 3 4
| html = Regex.Replace(html,
@"<(a)((?!.*mailto:).*[^>]+)>",
"<$1 target=\"_blank\"$2>",
RegexOptions.IgnoreCase | RegexOptions.Compiled); |
Je n'arrive pas à faire de OU. J'ai essayé plusieurs solutions avec [..|..] et autres sans aucun succès.
Merci par avance !