私のウェブサイトで、「リンクを認識する」機能をつけたいと思っています。その例は 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;
}