输出带超链接的文本

时间:2010-09-30 14:52:30

标签: c# .net ruby-on-rails asp.net-mvc asp.net-mvc-2

如果您有来自数据库的文本,例如:

 "New Apple TV Offers 8 GB of Internal Storage, 256 MB RAM http://t.co/fQ7rquF"

是否有一个帮助方法接受该文本并将网址包装为锚标记?

2 个答案:

答案 0 :(得分:1)

在我的脑海中,我会运行一个正则表达式来匹配一个链接模式并在其周围抛出锚标签。

在Google上找到this

using System.Text.RegularExpressions; 

public string ConvertURLsToHyperlinks(string sInput) 
{ 
    return Regex.Replace(sInput, @"(\bhttp://[^ ]+\b)", @"<a href=""$0"">$0</a>"); 
}

它查找“http://”后跟任何不是空格的内容,以字边界分隔。

答案 1 :(得分:1)

我相信没有这样的辅助方法,但你可以创建一个

public static class helper{
public static string AnchorHelper(this htmlHelper helper, string text)
{
   //here u can use kevin's function to generate anchors
   return ConvertURLsToHyperlinks(text);  
}
}

你必须在你的视图中添加相应的命名空间,然后你可以像其他html帮助器一样使用它

<%=Html.AnchorHelper(TextwithUrls)%>