我遇到以下情况的问题
我正在开发一个聊天应用程序,希望用户可以将链接发送到特定页面,如
Hey check out my link www.link1.com
我正在做的是使用reg-expression来检测链接并将其替换为<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
,当接收者点击它时它会重定向到{{1 (asp.net正在考虑将链接作为子文件夹而不是另一个网站的实际路径,那将是什么解决方案?
答案 0 :(得分:0)
确保链接以http://或https://开头,否则浏览器会认为链接是相对的。
答案 1 :(得分:0)
正如Brain已经提到过,请确保您的链接以http://
或https://
开头。因此,请在您的href标记属性中附加http://
或https://
,同时添加{{您target="_blank"
标记中的1}}属性。
希望它会对你有所帮助。