htmlsc() 関連

強調表示が無効化

cvs:lib/func.php [r1.104] で導入された htmlsc() のデフォルトフラッグが ENT_QUOTES なので、cvs先端で「strong」のような強調構文が無効化されてようになっているようです。

diff -u -b -r1.104 func.php
--- lib/func.php        25 Jan 2011 15:01:01 -0000      1.104
+++ lib/func.php        30 Jan 2011 16:36:35 -0000
@@ -855,7 +855,7 @@
 }

 // Sugar with default settings
-function htmlsc($string = '', $flags = ENT_QUOTES, $charset = CONTENT_CHARSET)
+function htmlsc($string = '', $flags = ENT_COMPAT, $charset = CONTENT_CHARSET)
 {
        return htmlspecialchars($string, $flags, $charset);     // htmlsc()
 }

ひょっとすると $line_rules のほうを修正すべきかもしれませんが、、、とりあえず報告しておきます。 どうぞよろしくお願いします。



refプラグイン


別件: ref

ただ今になってもう1つ気がついたのですが、cvs:plugin/ref.inc.php(r1.23)のときの

			$title = join(',', $_title);
			$title = $is_image ? htmlspecialchars($title) : make_line_rules(htmlspecialchars($title));

とは逆の条件で今はmake_line_rulesを実行しているので、

#ref(http://pukiwiki.sourceforge.jp/dev/image/top.png,''test'')

画像のときに

<img src="http&#x3a;//pukiwiki.sourceforge.jp/dev/image/top.png" alt="<strong>test</strong>" title="<strong>test</strong>" />

とaltの中などに<strong>が出力されて、noimg指定するか画像以外のときに

#ref(http&#x3a;//pukiwiki.sourceforge.jp/dev/image/top.png,noimg,''test'')

#ref(): File not found: "top.png" at page "http&#x3a;//pukiwiki.sourceforge.jp/dev/image"

となにも変化がない状態になるんですが -- 2011-01-31 (月) 20:00:26コメント主 2011-02-01 (火) 04:19:30


RecentChanges のwikiソース生成部分の問題

今まではENT_QUOTES フラグでなかったので表面化しなかっただけみたいですが、'test'のようにシングルクオートがページ名に含まれているとhtmlsc() でエスケープされて

[[&#039;test&#039;]]

とRecentChanges のwikiソースに出力にされてしまい、[['test']]のようになってリンクになりません。 要修正箇所はcvs:lib/make_link.php のlastmodified_add() とput_lastmodified() -- 2011-11-26 (土) 15:20:45


(BugTrack2/349 より移動) htmlspecialchars()



*1 でもこれに手をつけると、ひどい非互換が生じる

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-12-05 (月) 23:24:12
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.262 sec.

SourceForge