ブログ - D3Blogカテゴリのエントリ
D3Blog [1.02.?] のRSS,RDFの出力でエラーが発生した。
どのようなエラーかというと
(IEの場合、FireFox ではエラーは出ない。)
いろいろ調べた結果次のように推測した。
RSSなどに表示する文字数を限定するために、xoops_substr() で、規定の文字数にカットしているようだが、これは当然ただの substr のちょっとしたラッパーのようだ。
ということで XMLやHTML の構文なんかお構いなしなのだ。
つまり、 & が &am で切られてしまえば、XML的にはエラー!
ということですね...
これを回避するには、構文をパースした上で文字をカットしないといけない...ということかぁ...ちょっと面倒だなぁ。
どちらかというと、原文を短くカットした上で加工したほうがいいか?
でも原文が HTML有効だったら同じことか...
どのようなエラーかというと
無効な文字がエンティティの範囲内に見つかりました。
行: 130 文字: 45
$modversion['onUninstall'] = '...</description>
(IEの場合、FireFox ではエラーは出ない。)
いろいろ調べた結果次のように推測した。
RSSなどに表示する文字数を限定するために、xoops_substr() で、規定の文字数にカットしているようだが、これは当然ただの substr のちょっとしたラッパーのようだ。
ということで XMLやHTML の構文なんかお構いなしなのだ。
つまり、 & が &am で切られてしまえば、XML的にはエラー!
ということですね...
これを回避するには、構文をパースした上で文字をカットしないといけない...ということかぁ...ちょっと面倒だなぁ。
どちらかというと、原文を短くカットした上で加工したほうがいいか?
でも原文が HTML有効だったら同じことか...
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;
と表示されてしまう。
たとえば次のような感じ...
HTMLは無効にしてあります。
a['b'] = c;
としたものは [1.02.3] では正しく表示されるが、[1.02.5a] では
a[&39;b&39;] = c;
と表示されてしまう。
これはバグじゃなくて、仕様なのだと思うが...
D3blog にはエントリ本文に「区切り挿入」をすることができる。
これを使うと、本文を要約と詳細に分けることができる、とても便利なもの。
ただひとつだけ困るのは、区切りを挿入すると、その前後の空行が無視されてしまうことだ。
D3blog にはエントリ本文に「区切り挿入」をすることができる。
これを使うと、本文を要約と詳細に分けることができる、とても便利なもの。
ただひとつだけ困るのは、区切りを挿入すると、その前後の空行が無視されてしまうことだ。