哪个更适合编码RSS的RSS?

我最近在我发布的一些RSS源中引入了HTML(到目前为止只有纯文本,没有标记),我想知道哪种方法更好:使用字符编码(例如htmlspecialchars)或者只是将所有内容封装在CDATA中?

在我看来,CDATA可能更容易,但我不清楚是否有任何理由(微妙或其他)选择一种方法与另一种方法 . (首先,在查看源代码时,CDATA方法会更容易阅读...)

回答(4)

2 years ago

CDATA适用于XML解析器不应解析的任何数据 . 任何不在CDATA块中的标记都可以由XML解析器解析,并且可能具有不同的含义 .

如果不需要,CDATA也会为解析器带来开销 . 在您知道不会使用HTML(或其他)时,尽量避免使用CDATA块,否则请使用它 .

也就是说,我同意jamesh,因为你应该总是喜欢Atom而不是RSS . 我 生产环境 一个feed阅读器,在抓取feed时,总是喜欢Atom而不是RSS .

2 years ago

个人CDATA更容易,因为它允许订阅者显示实际的HTML而不需要他们的读者做任何有趣的事情 .

如果您使用HTML编码,订阅者或网站自己必须解码源以显示HTML

2 years ago

冒着给你答案的风险,你可能不想听:使用Atom而不是RSS .

Atom是一个很好的命名空间XML,因此您可以直接混合和匹配XHTML,而不必担心您询问的编码问题 .

它几乎支持RSS所有,并且因为它只是普通的Atom,如果你真的不想使用库来操作它,它就更容易自己滚动 .

Atom也是IETF标准,RSS不是 .

2 years ago

htmlentities()就像一个魅力 . 无需使用CDATA . http://php.net/manual/en/function.htmlentities.php