我的asp.Net网站上有一个标签,用于显示动态日期,具体取决于数据库中包含的内容。
有时是Text,有时是URL。
如何将标签显示网址内容作为网址?
例如,如果内容是:我已经抄袭了以下链接。 http://www.ucs.cam.ac.uk。
我希望将文本显示为文本,将网址显示为链接。
谢谢
答案 0 :(得分:0)
您可以使用正则表达式将任何网址解析为链接:
private string ConvertUrlsToLinks(string text)
{
string regex = @"((www\.|(http|https|ftp|news|file)+\:\/\/)[_.a-z0-9-]+\.[a-z0-9\/_:@=.+?,##%&~_-]*[^.|\'|\# |!|\(|?|,| |>|<|;|\)])";
System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(regex, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
return r.Replace(text, "<a href=\"$1\" title=\"Open in a new window or tab\" target=\"_blank\">$1</a>").Replace("href=\"www", "href=\"http://www");
}
此代码具有额外的优势,即能够处理文本正文中的多个URL,并且可以选择&amp;仅转换www
的网址。如果没有网址,它只会返回原始文字。