Xoopのテキストサニタイザ

「¥」とかがフィルタリングされるのは、WordPressじゃなくてXoopsのテキストサニタイザが原因っぽいな。
Xoopsでのサニタイズ対象文字と、どうすればそれを解除できるかを調査すべし。
着地点は「ソースコード表示時には書いたものをそのまま出力する」を実現すること。
この辺とか参考になるかも?
BB Codeってのがどういうものなのかも気になるね・・・。
※追記
ここを実行した上で
ここを実行すると良いかも。
※さらに追記
↑の対策じゃダメっぽいので、別の対策を考えてみた。
Xoops本体のテキストサニタイザは、class/module.textsanitizer.php である。
このクラス内で、magic_quotes_gpcがOnの状態でstripSlashesGPC()メソッドを実行すると、バックスラッシュ=「¥」を取り除くようだ。
参考記事
よって、対策として考えられるのは、
案1:module.textsanitizer.phpにHackをかけて、stripSlashesGPC()を実行しないようにする。
案2:WordPressのテキストエリアからの入力に対して、stripSlashesGPC()が適用されないようにする。
のいずれか。
理想は、案2だけどWordPressにHackかけなきゃいけない気がするから、楽そうなのは案1だな。
でも、わざわざバックスラッシュをサニタイジングしてるのには意味があるんだろうなぁ。
安易にはずしてもいいもんなのかねぇ・・・?
あ、思いついた。codeタグかpreタグで囲ったとこに対してだけ、サニタイジングを一切適用しないようにすればいいのか。具体的にどうやって実装するかはmodule.text.sanitizer.phpの解析が必要だな。
↑なんで、バックスラッシュをサニタイジングするかの事情は、この辺を参考に。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です