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

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

有帮助吗?

解决方案

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

如果不需要,CDATA也会为解析器带来开销。

,只要您知道不会使用HTML(或其他方式),请尽量避免使用CDATA阻止

那就是说,我同意jamesh,因为你应该总是喜欢Atom而不是RSS。我生产一个提要阅读器,在抓取提要时,总是喜欢Atom而不是RSS。

其他提示

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

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

冒着给出答案的风险,您可能不想听到:使用 Atom 而不是 RSS。

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

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

Atom也是IETF标准,RSS不是。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top