3

簡単な RSS フィードを生成するために PHP で小さなクラスを作成しました。

アイテムの説明には、html タグを含めることもできます。

どちらがより良い方法であり、各方法の長所/短所は何ですか?

$item .= "<description><![CDATA[" . $description . "]]></description>\n";

また

$item .= "<description>" . htmlspecialchars($description, ENT_NOQUOTES, "UTF-8") . "</description>\n";

私が考えることができる CDATA メソッドの唯一の欠点は、文字列 $description に含まれているかどうかを事前に確認する必要があることです

"<![CDATA[" or "]]>".

明確にしていただきありがとうございます。

4

1 に答える 1

1

そこで HTML コードを使用したい場合、選択肢は 1 つしかありません。CDATA セクションです。

理由: フィードは有効な XML である必要がありますが、HTML は有効な XML ではない可能性があります。したがって、CDATA なしで HTML を使用すると、有効な XML ではない記述内のすべてが XML-Parser-Error になります。&nbsp;これは、 or <br>(有効な HTML であるが無効な XML)のような単純なものによってすでに強制されている可能性があります。

CDATA セクションは解析されないため、必要に応じて使用できます。

ただし、<content:encoded>マークアップを使用することをお勧めします。

于 2012-10-10T23:34:30.383 に答える