svnno****@sourc*****
svnno****@sourc*****
2011年 4月 14日 (木) 21:21:18 JST
Revision: 1514 http://sourceforge.jp/projects/tween/svn/view?view=rev&revision=1514 Author: kiri_feather Date: 2011-04-14 21:21:17 +0900 (Thu, 14 Apr 2011) Log Message: ----------- URLがうまくリンクされないバグ修正 強制URL解決の時、クエリが落とされてリンクされるバグ修正 Modified Paths: -------------- trunk/Tween/ShortUrl.vb trunk/Tween/Twitter.vb -------------- next part -------------- Modified: trunk/Tween/ShortUrl.vb =================================================================== --- trunk/Tween/ShortUrl.vb 2011-04-07 09:51:15 UTC (rev 1513) +++ trunk/Tween/ShortUrl.vb 2011-04-14 12:21:17 UTC (rev 1514) @@ -149,7 +149,7 @@ retUrlStr = urlEncodeMultibyteChar(httpVar.GetRedirectTo(tmpurlStr)) If retUrlStr.StartsWith("http") Then retUrlStr = retUrlStr.Replace("""", "%22") 'ダブルコーテーションがあるとURL終端と判断されるため、これだけ再エンコード - orgData = orgData.Replace("<a href=""" + orgUrl + """", "<a href=""" + retUrlStr + """") + orgData = orgData.Replace("<a href=""" + tmpurlStr, "<a href=""" + retUrlStr) SyncLock _lockObj If Not urlCache.ContainsKey(orgUrl) Then urlCache.Add(orgUrl, retUrlStr) End SyncLock Modified: trunk/Tween/Twitter.vb =================================================================== --- trunk/Tween/Twitter.vb 2011-04-07 09:51:15 UTC (rev 1513) +++ trunk/Tween/Twitter.vb 2011-04-14 12:21:17 UTC (rev 1514) @@ -2710,16 +2710,20 @@ Const url_valid_general_path_chars As String = "[a-z0-9!*';:=+$/%#\[\]\-_,~]" Const url_balance_parens As String = "(?:\(" + url_valid_general_path_chars + "+\))" Const url_valid_url_path_ending_chars As String = "(?:[a-z0-9=_#/\-\+]+|" + url_balance_parens + ")" - Const pth As String = "(?<path>(/(?:" + url_balance_parens + + Const pth As String = "(?:" + url_balance_parens + "|@" + url_valid_general_path_chars + "+/" + "|[.,]?" + url_valid_general_path_chars + "+" + - ")?" + - url_valid_url_path_ending_chars + "?)?)" + ")" + Const pth2 As String = "(/(?:" + + pth + "+" + url_valid_url_path_ending_chars + "|" + + pth + "+" + url_valid_url_path_ending_chars + "?|" + + url_valid_url_path_ending_chars + + ")?)?" Const qry As String = "(?<query>\?[a-z0-9!*'();:&=+$/%#\[\]\-_.,~]*[a-z0-9_&=#])?" Const rgUrl As String = "(?<before>(?:[^\""':!=]|^|\:))" + "(?<url>(?<protocol>https?://|www\.)" + url_valid_domain + - pth + + pth2 + qry + ")" '絶対パス表現のUriをリンクに置換