Loading

ブログ - D3Blog [1.02.5a] RSS,RDFなどの出力がおかしい?

D3Blog [1.02.5a] RSS,RDFなどの出力がおかしい?

カテゴリ : 
不具合情報 » D3Blog
執筆 : 
masa 2008/8/27
D3Blog [1.02.3] では問題なかったのだが [1.02.5a] では RSS,RDFなどで、HTML特殊文字を2重にエンコードしているように思える。

たとえば次のような感じ...

HTMLは無効にしてあります。
a['b'] = c;
としたものは [1.02.3] では正しく表示されるが、[1.02.5a] では
a[&39;b&39;] = c;
と表示されてしまう。
どうも d3blog/class/entry.class.php の pingExcerpt() に加えられた変更が怪しいような気が...
// special chracters
$patterns = array('/\&\#([0-9]{2,10}\;)/', '/\&(amp;)?([a-zA-Z]{2,10}\;)/');
$replacement = array('&#\\1;', '&\\1\\2');
$excerpt = preg_replace($patterns, $replacement, $excerpt);

良くわからないが、確かに &nn; を &nn; に、&xx; を &xx; に書き換えているようだ。
この変換は displayTarea あたりで既に行われているのでは?
それとも、自分が d3blogTextSanitizer あたりのファイルの更新を失敗している?

(追記)
あれ?[1.02.3] でもちょっと気になることが...
本文に
&
と書いても、表示上は & になってしまうんだね?(変換されてしまうので全角にしてある)
HTMLを有効にしなくてもXOOPSコードを有効にするになっていると...
どうも、そもそものd3blogTextSanitizer の動きが気になるなぁ...
というか、これは仕様なのか?
でもそれはちょっとおかしいよねぇ...
  • トラックバック (0)
  • 閲覧 (7210)