private static string FormatUrlEntity(string targetText, TwitterEntityUrl entity, bool keepTco) { string expandedUrl; // 過去に存在した壊れたエンティティの対策 // 参照: https://dev.twitter.com/discussions/12628 if (entity.DisplayUrl == null) { expandedUrl = MyCommon.ConvertToReadableUrl(targetText); return("<a href=\"" + e(entity.Url) + "\" title=\"" + e(expandedUrl) + "\">" + t(e(targetText)) + "</a>"); } var linkUrl = entity.Url; expandedUrl = keepTco ? linkUrl : MyCommon.ConvertToReadableUrl(entity.ExpandedUrl); var mediaEntity = entity as TwitterEntityMedia; var titleText = mediaEntity?.AltText ?? expandedUrl; // twitter.com へのリンクは t.co を経由せずに直接リンクする (但し pic.twitter.com はそのまま) if (mediaEntity == null) { if (entity.ExpandedUrl.StartsWith("https://twitter.com/", StringComparison.Ordinal) || entity.ExpandedUrl.StartsWith("http://twitter.com/", StringComparison.Ordinal)) { linkUrl = entity.ExpandedUrl; } } return("<a href=\"" + e(linkUrl) + "\" title=\"" + e(titleText) + "\">" + t(e(entity.DisplayUrl)) + "</a>"); }
private static string FormatUrlEntity(string targetText, TwitterEntityUrl entity) { string expandedUrl; // 過去に存在した壊れたエンティティの対策 // 参照: https://dev.twitter.com/discussions/12628 if (entity.DisplayUrl == null) { expandedUrl = MyCommon.ConvertToReadableUrl(targetText); return("<a href=\"" + e(entity.Url) + "\" title=\"" + e(expandedUrl) + "\">" + t(e(targetText)) + "</a>"); } expandedUrl = MyCommon.ConvertToReadableUrl(entity.ExpandedUrl); // twitter.com へのリンクは t.co を経由せずに直接リンクする (但し pic.twitter.com はそのまま) if (!(entity is TwitterEntityMedia)) { if (entity.ExpandedUrl.StartsWith("https://twitter.com/") || entity.ExpandedUrl.StartsWith("http://twitter.com/")) { entity.Url = entity.ExpandedUrl; } } return("<a href=\"" + e(entity.Url) + "\" title=\"" + e(expandedUrl) + "\">" + t(e(entity.DisplayUrl)) + "</a>"); }
private static string FormatUrlEntity(string targetText, TwitterEntityUrl entity) { string expandedUrl; // 過去に存在した壊れたエンティティの対策 // 参照: https://dev.twitter.com/discussions/12628 if (entity.DisplayUrl == null) { expandedUrl = MyCommon.ConvertToReadableUrl(targetText); return("<a href=\"" + e(entity.Url) + "\" title=\"" + e(expandedUrl) + "\">" + t(e(targetText)) + "</a>"); } expandedUrl = MyCommon.ConvertToReadableUrl(entity.ExpandedUrl); return("<a href=\"" + e(entity.Url) + "\" title=\"" + e(expandedUrl) + "\">" + t(e(entity.DisplayUrl)) + "</a>"); }
private static string FormatUrlEntity(string targetText, TwitterEntityUrl entity, bool keepTco) { string expandedUrl; // 過去に存在した壊れたエンティティの対策 // 参照: https://dev.twitter.com/discussions/12628 if (entity.DisplayUrl == null) { expandedUrl = MyCommon.ConvertToReadableUrl(targetText); return "<a href=\"" + e(entity.Url) + "\" title=\"" + e(expandedUrl) + "\">" + t(e(targetText)) + "</a>"; } var linkUrl = entity.Url; expandedUrl = keepTco ? linkUrl : MyCommon.ConvertToReadableUrl(entity.ExpandedUrl); // twitter.com へのリンクは t.co を経由せずに直接リンクする (但し pic.twitter.com はそのまま) if (!(entity is TwitterEntityMedia)) { if (entity.ExpandedUrl.StartsWith("https://twitter.com/", StringComparison.Ordinal) || entity.ExpandedUrl.StartsWith("http://twitter.com/", StringComparison.Ordinal)) { linkUrl = entity.ExpandedUrl; } } return "<a href=\"" + e(linkUrl) + "\" title=\"" + e(expandedUrl) + "\">" + t(e(entity.DisplayUrl)) + "</a>"; }