2014-08-30 112 views
0

我有以下情形的一个问题重定向问题

我开发一个聊天应用程序希望用户可以在发送一个链接到一个特定的页面一样

Hey check out my link www.link1.com 我在做什么是使用REG-表达检测链路和通过<a href > 这个替换它是我使用的代码:

public string ReplaceMsgHyperLinkIfExist(string msg) 
    { 
     Regex r= new Regex(@"((?:(?:https?|ftp|gopher|telnet|file|notes|ms-help):(?://|\\\\)(?:www\.)?|www\.)[\w\d:#@%/;$()~_?\+,\-=\\.&]+)"); 
     Match m = r.Match(msg); 
     while (m.Success) 
     { 
      string val="<a href='"+m.Value+"' title='"+m.Value+"' >"+m.Value+"</a>"; 
      msg= msg.Replace(m.Value,val); 
      m = m.NextMatch(); 
     } 
     return msg; 
    } 

时发送的消息的问题是与用户通过点击在它上面,它没有正确的重定向,例如,如果用户在c#中发送这个消息hi www.google.com,当接收器点击它时,它重定向到localhost:2525/www.google.com(asp.net正在考虑链接作为子文件夹而不是另一个网站的实际路径是什么会是解决方案吗?

+0

尝试发布http://dotnetfiddle.net/ – InferOn 2014-08-30 10:03:30

+1

在需要时在每个链接前加上'http://或'https://' – 2014-08-30 10:04:51

回答

0

确保链接以http://或https://开头,否则浏览器会认为链接是相对的。

+0

这可以发表评论。没有回答。还有一些人在评论中已经提到过这么好的复制粘贴。 – 2014-12-12 04:38:29

+0

@Mangesh Parte下次检查我的文章和评论的时间。很好的阅读。 – Brian 2014-12-18 06:10:37

0

脑已经提到,要确保你的链接在href标记属性开始http://https://。所以追加http://https://并在您的<a>标记添加target="_blank"财产。

希望它能帮助你。