-1

在我的网站中,我想提供一个“识别链接”的功能。您可以在 Facebook 中查看该示例。每当我们分享一个链接时,它会自动检测它并找到缩略图。此外,如果我们在状态更新中做同样的事情,它也会做同样的事情。

我想使用带有 c# 的 asp.net 来实现相同的功能。

任何教程、链接或演示都会有所帮助。如果可以的话,也请分享逻辑。

4

1 回答 1

3

这就是我使用的。在描述中,我使用 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;
    }
于 2013-01-08T07:32:11.067 回答