2009/02/25(Wed)adiaryのURL解釈バグ

2009/02/25 15:14 NetService::adiary
adiaryをいろいろカスタムして使わせていただいていますが、URL自動リンク機能がちょっとおかしいようなので、報告を兼ねて投稿&トラバしておきます。

そもそも気づいたのは

記事中に外部URLの画像を取り込みたいときのために、ユーザー定義タグ機能を使って以下のようなタグを定義していた。
eimg	= 外部画像, ASCII, 2, <img src="$1:$2">
こうすることで、例えば[eimg:http://http://k.yimg.jp/images/top/sp/logo.gif]のように書けば、記事中にヤフーのロゴが引用でき、[http://www.yahoo.co.jp/:[eimg:http://k.yimg.jp/images/top/sp/logo.gif]]のように書けば、その画像に対してリンクを貼れていた*1が、URL自動リンク機能がたまたまONだったKerosoft : Modus Operandiでは、[eimg:http://k.yimg.jp/images/top/sp/logo.gif]のように変にリンクが付いてしまった。

ちなみにパーサーは、"標準(そのまま改行)"を使用。
私のblogの設定が悪いのかと思い、先ほどテスト用blogWer entschied es?にて同様の検証を行ったが、やはり同じ結果となった。

この問題自体は、URL自動リンク機能をOFFにして直ったが、URL自動リンク機能が有効のとき、このようにタグの括弧で囲んでいる場合でも閉じ括弧だけURLリンクに含まれるのも変だな……と思ったわけで。
URLの自動リンクをするかどうかを判定する場所で、[]の内側にhttpアドレスが書かれている場合はリンクを張らない方がいいのでは?*2

*1 : 未だv2.003からバージョンアップを怠っていた非公開blogの方

*2 : [http://....]という最初の引数がhttpのタグを除いて