2014-08-30 143 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"財產。

希望它能幫助你。