Ja, det må jeg jo indrømme. Værsgod:
static string Test(string strInput)
{
string strPattern =
@"
(?<url>
https?://
(?:[\w-]+\.)+[\w-]+
(?::\d+)?
(?:/~?[\w\d:]*(\.[\w\d:]+)?)*
(?:\#[\w\d]+)?
(?:[?&][\w\d%+]+=[\w\d%+]*)*
/?
)";
string strReplace = "<a href=\"${url}\" target=_blank>[Link]</a>";
string strResult = Regex.Replace(strInput, strPattern, strReplace, RegexOptions.IgnorePatternWhitespace);
strPattern =
@"
(?<!https?://)
(?<url>
www\.
(?:[\w-]+\.)+[\w-]+
(?::\d+)?
(?:/~?[\w\d:]*(\.[\w\d:]+)?)*
(?:\#[\w\d]+)?
(?:[?&][\w\d%+]+=[\w\d%+]*)*
/?
)";
strReplace = "<a href=\"
http://${url}\" target=_blank>[Link]</a>";
strResult = Regex.Replace(strResult, strPattern, strReplace, RegexOptions.IgnorePatternWhitespace);
Console.WriteLine(strResult);
return strResult;
}
Jeg frygter nu lidt at, hvis det fortsætter på den måde, ender alt med at være et lovligt url. ;^)