<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE feed [
      <!ENTITY lt "&#38;#60;">
      <!ENTITY gt "&#62;">
      <!ENTITY amp "&#38;#38;">
      <!ENTITY apos "&#39;">
      <!ENTITY quot "&#34;">
      <!ENTITY nbsp "&#160;">
      <!ENTITY copy "&#169;">
]>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title type="text">ブログ</title>
    <subtitle type="text">XCL Labo-XCL の利用とカスタマイズに関する備忘録</subtitle>
    <updated>2026-04-15T08:44:59+09:00</updated>
    <id>https://xcl.masa-lab.net/modules/d3blog/index.php</id>
    <link rel="alternate" type="text/xhtml" hreflang="ja" href="https://xcl.masa-lab.net/" />
    <link rel="self" type="application/atom+xml" href="https://xcl.masa-lab.net/modules/d3blog/index.php?page=atom" />
    <rights>Copyright &copy; 2008-2018 by MASA Lab.</rights>
    <generator uri="https://xcl.masa-lab.net/">D3BLOG - XOOPS BLOG MODULE</generator>
    <entry>
        <title>D3Blog [1.02.?] RSS,RDFで難しい問題...</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=82" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=82</id>
        <published>2008-08-27T23:40:00+09:00</published>
        <updated>2008-09-10T19:28:06+09:00</updated>
        <category term="D3Blog" label="D3Blog" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">D3Blog [1.02.?] のRSS,RDFの出力でエラーが発生した。どのようなエラーかというと
無効な文字がエンティティの範囲内に見つかりました。
 行: 130 文字: 45

$modversion[&amp;#039;onUninstall&amp;#039;] ...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>D3Blog [1.02.?] のRSS,RDFの出力でエラーが発生した。<br /><br />どのようなエラーかというと<br /><pre class="blogCode"><code>
無効な文字がエンティティの範囲内に見つかりました。
 行: 130 文字: 45

$modversion[&amp;#039;onUninstall&amp;#039;] = &amp;#039...&lt;/description&gt;
</code></pre><br />(IEの場合、FireFox ではエラーは出ない。)<br /><br />いろいろ調べた結果次のように推測した。<br />RSSなどに表示する文字数を限定するために、xoops_substr() で、規定の文字数にカットしているようだが、これは当然ただの substr のちょっとしたラッパーのようだ。<br />ということで XMLやHTML の構文なんかお構いなしなのだ。<br />つまり、 &amp;amp; が &am で切られてしまえば、XML的にはエラー！<br />ということですね...<br /><br />これを回避するには、構文をパースした上で文字をカットしないといけない...ということかぁ...ちょっと面倒だなぁ。<br />どちらかというと、原文を短くカットした上で加工したほうがいいか？<br />でも原文が HTML有効だったら同じことか...</div>]]>
       </content>
    </entry>
    <entry>
        <title>D3Blog [1.02.5a] RSS,RDFなどの出力がおかしい？</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=81" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=81</id>
        <published>2008-08-27T23:30:00+09:00</published>
        <updated>2008-09-06T17:44:20+09:00</updated>
        <category term="D3Blog" label="D3Blog" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">D3Blog [1.02.3] では問題なかったのだが [1.02.5a] では RSS,RDFなどで、HTML特殊文字を2重にエンコードしているように思える。たとえば次のような感じ...HTMLは無効にしてあります。a[&#039;b&#039;] = ...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>D3Blog [1.02.3] では問題なかったのだが [1.02.5a] では RSS,RDFなどで、HTML特殊文字を2重にエンコードしているように思える。<br /><br />たとえば次のような感じ...<br /><br />HTMLは無効にしてあります。<br />a[&#039;b&#039;] = c;<br />としたものは [1.02.3] では正しく表示されるが、[1.02.5a] では<br />a[&amp;39;b&amp;39;] = c;<br />と表示されてしまう。<br />どうも d3blog/class/entry.class.php の pingExcerpt() に加えられた変更が怪しいような気が...<br /><pre class="blogCode"><code>
// special chracters
$patterns = array(&#039;/\&amp;\#([0-9]{2,10}\;)/&#039;, &#039;/\&amp;(amp;)?([a-zA-Z]{2,10}\;)/&#039;);
$replacement = array(&#039;&amp;amp;#\\1;&#039;, &#039;&amp;amp;\\1\\2&#039;);
$excerpt = preg_replace($patterns, $replacement, $excerpt);
</code></pre><br /><br />良くわからないが、確かに &nn; を &amp;nn; に、&xx; を &amp;xx; に書き換えているようだ。<br />この変換は displayTarea あたりで既に行われているのでは？<br />それとも、自分が d3blogTextSanitizer あたりのファイルの更新を失敗している？<br /><br />(追記)<br />あれ？[1.02.3] でもちょっと気になることが...<br />本文に<br /><pre class="blogCode"><code>
＆ａｍｐ；
</code></pre><br />と書いても、表示上は &amp; になってしまうんだね？(変換されてしまうので全角にしてある)<br />HTMLを有効にしなくてもXOOPSコードを有効にするになっていると...<br />どうも、そもそものd3blogTextSanitizer の動きが気になるなぁ...<br />というか、これは仕様なのか？<br />でもそれはちょっとおかしいよねぇ...</div>]]>
       </content>
    </entry>
    <entry>
        <title>D3blog [1.02.3a] の区切り挿入で空行が無視される</title>
        <link rel="alternate" type="text/xhtml" href="https://xcl.masa-lab.net/modules/d3blog/details.php?bid=51" />
        <id>https://xcl.masa-lab.net/modules/d3blog/details.php?bid=51</id>
        <published>2008-07-09T23:50:00+09:00</published>
        <updated>2008-09-06T17:38:22+09:00</updated>
        <category term="D3Blog" label="D3Blog" />
        <author>
            <name>masa</name>
        </author>
        <summary type="html" xml:base="https://xcl.masa-lab.net/" xml:lang="ja">これはバグじゃなくて、仕様なのだと思うが...D3blog にはエントリ本文に「区切り挿入」をすることができる。これを使うと、本文を要約と詳細に分けることができる、とても便利なもの...</summary>
       <content type="html" xml:lang="ja" xml:base="https://xcl.masa-lab.net/">
<![CDATA[<div>これはバグじゃなくて、仕様なのだと思うが...<br /><br />D3blog にはエントリ本文に「区切り挿入」をすることができる。<br />これを使うと、本文を要約と詳細に分けることができる、とても便利なもの。<br /><br />ただひとつだけ困るのは、区切りを挿入すると、その前後の空行が無視されてしまうことだ。<br />つまり<br /><pre class="blogCode"><code>
ただひとつだけ困るのは、区切りを挿入すると、その前後の空行が無視されてしまうことだ。


［seperator］



つまり
</code></pre><br />と書いても<br /><pre class="blogCode"><code>
ただひとつだけ困るのは、区切りを挿入すると、その前後の空行が無視されてしまうことだ。
つまり
</code></pre><br />と表示されてしまうのだ...<br /><br /><br />何とかならないかなぁ...</div>]]>
       </content>
    </entry>
</feed>