在我的网站中,我想提供一个“识别链接”的功能。您可以在 Facebook 中查看该示例。每当我们分享一个链接时,它会自动检测它并找到缩略图。此外,如果我们在状态更新中做同样的事情,它也会做同样的事情。
我想使用带有 c# 的 asp.net 来实现相同的功能。
任何教程、链接或演示都会有所帮助。如果可以的话,也请分享逻辑。
这就是我使用的。在描述中,我使用 40 个字符,如果您也想要描述中的完整链接,只需删除子字符串部分...
static string LinksToHTML(string str)
{
Regex urlRx = new Regex(@"(?<url>((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+))", RegexOptions.IgnoreCase);
MatchCollection matches = urlRx.Matches(str);
foreach (Match match in matches)
{
var url = match.Groups["url"].Value;
str = str.Replace(url, string.Format("<a href=\"{0}\" target=\"blank\">{1}</a>", url, (url.Length > 40 ? url.Substring(0, 40) + "..." : url)));
//str = str.Replace(url, string.Format("<a href=\"{0}\" target=\"blank\">{1}</a>", url, url));
}
return str;
}