Borde gå att lösa med (?<!...) (matcha om det inte föregås av ...) på något sätt... Kanske:
v_ret = Regex.Replace(v_ret,"(?<!href=\")(http://|https://|ftp://)(\\S)(\\S+)","<a href=\"$1$2$3\" target=\"_blank\">$2$3</a>",RegexOptions.IgnoreCase);
3 svar · 439 visningar · startad av yohpops
Hej.
Jag använder denna koden för att skapa länkar i text.
v_ret = Regex.Replace(v_ret,"(http://|https://|ftp://)(\\S)(\\S+)","<a href=\"$1$2$3\" target=\"_blank\">$2$3</a>",RegexOptions.IgnoreCase);
Den fungerar bara om länken inte är en riktig länk utan bara text.
Ex. http://www.webforum.nu.
Hur gör jag för att den ska skippa riktiga länkar i texten?
Ex.
<a href="http://www.webforum.nu">webForum</a>
Borde gå att lösa med (?<!...) (matcha om det inte föregås av ...) på något sätt... Kanske:
v_ret = Regex.Replace(v_ret,"(?<!href=\")(http://|https://|ftp://)(\\S)(\\S+)","<a href=\"$1$2$3\" target=\"_blank\">$2$3</a>",RegexOptions.IgnoreCase);
Ska testa.
Just (?<!href=\") funkade inte.
Men jag fortsätter testa på samma spår..