anameの対象文字列にWikiNameやBracketNameがあると表示がおかしくなる

メッセージ

通常は

&aname(test0){本日の催し};

本日の催し

のように正常に表示されますが、対象文字列にWikiNameやBracketNameがあると次のようになってしまう。

&aname(test1){BugTrackについて};

BugTrackについて

&aname(test2){PukiWikiにおけるFrontPageの存在};

PukiWikiにおけるFrontPageの存在

<a>タグの中に<a>を入れることはできないので、対象文字列内にWikiNameやBracketName、エイリアス、InterWiki、リンクがある場合は、それらの<a>タグをサニタイズして出力するのではなく、<a>タグそのものを削除しないといけない

追記

これとは直接関係ないですが、

return "<a id=\"$id\">$s_body</a>";

は、

return "<a id=\"$id\" href=\"#$id\">$s_body</a>";

としたほうが、第三者にアンカーの存在を示すことができて便利です。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2003-04-23 (水) 17:53:28
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.215 sec.

OSDN