OSDN Git Service

URL直後の大なり記号がURLに含まれてリンク化されるバグ修正
authorkiri_feather <kiri_feather@users.sourceforge.jp>
Thu, 3 Jun 2010 14:27:38 +0000 (14:27 +0000)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sat, 18 Feb 2012 14:13:10 +0000 (23:13 +0900)
git-svn-id: http://svn.sourceforge.jp/svnroot/tween/trunk@433 e39ad16e-3079-482e-bb30-4b4d378143b6

Tween/Twitter.vb

index 56353bd..1410349 100644 (file)
@@ -2186,7 +2186,7 @@ Public Class Twitter
     Public Function CreateHtmlAnchor(ByVal Text As String, ByVal AtList As List(Of String)) As String
         'Dim retStr As String = HttpUtility.HtmlEncode(Text)     '要検証(デコードされて取得されるので再エンコード)
         'Dim retStr As String = HttpUtility.HtmlDecode(Text)
-        Dim retStr As String = ""
+        Dim retStr As String = Text.Replace("&gt;", "<<<<<tweenだいなり>>>>>").Replace("&lt;", "<<<<<tweenしょうなり>>>>>")
         'uriの正規表現
         Const rgUrl As String = "(?<before>(?:[^\""':!=]|^|\:))" + _
                                     "(?<url>(?<protocol>https?://|www\.)" + _
@@ -2194,7 +2194,7 @@ Public Class Twitter
                                     "(?<path>/[a-z0-9!*'();:&=+$/%#\[\]\-_.,~@]*[a-z0-9)=#/]?)?" + _
                                     "(?<query>\?[a-z0-9!*'();:&=+$/%#\[\]\-_.,~]*[a-z0-9_&=#])?)"
         '絶対パス表現のUriをリンクに置換
-        retStr = Regex.Replace(Text, rgUrl, New MatchEvaluator(AddressOf AutoLinkUrl), RegexOptions.IgnoreCase)
+        retStr = Regex.Replace(retStr, rgUrl, New MatchEvaluator(AddressOf AutoLinkUrl), RegexOptions.IgnoreCase)
 
         '@返信を抽出し、@先リスト作成
         'Dim rg As New Regex("(^|[ -/:-@[-^`{-~])@([a-zA-Z0-9_]{1,20}/[a-zA-Z0-9_\-]{1,24}[a-zA-Z0-9_])")
@@ -2230,6 +2230,8 @@ Public Class Twitter
 
         retStr = Regex.Replace(retStr, "(^|[^a-zA-Z0-9_/&##@@>=])(sm|nm)([0-9]{1,10})", "$1<a href=""http://www.nicovideo.jp/watch/$2$3"">$2$3</a>")
 
+        retStr = retStr.Replace("<<<<<tweenだいなり>>>>>", "&gt;").Replace("<<<<<tweenしょうなり>>>>>", "&lt;")
+
         retStr = AdjustHtml(ShortUrlResolve(PreProcessUrl(retStr))) 'IDN置換、短縮Uri解決、@リンクを相対→絶対にしてtarget属性付与
         Return retStr
     End Function