将外部链接重定向到c#中的中间页面

时间:2015-01-26 03:43:21

标签: regex asp.net-mvc

我使用以下代码识别源html并附加中间页的网址。

 sourceHtml = Regex.Replace(sourceHtml,
            @"((http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?)","http://domain.com/out/?url=$1");

虽然这段代码完美无缺,但我面临两个问题,

1.它取代了' a'标签(与href值相同)与中间页面链接。

2.它附加了“img'的网址”。标签也。

请帮我将此正则表达式应用于href值。

1 个答案:

答案 0 :(得分:1)

尝试用以下方法替换你的正则表达式:

href\=\""((http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?)\""

它只会替换href值。