代码之家  ›  专栏  ›  技术社区  ›  Novaktually

哪一个更适合为RSS编码HTML?

  •  3
  • Novaktually  · 技术社区  · 16 年前

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

    在我看来,CDATA可能更简单,但我不清楚选择一种方法与选择另一种方法是否有任何原因(微妙或其他原因)。(对于初学者来说,在查看源代码时,CDATA方法更容易阅读…)

    4 回复  |  直到 13 年前
        1
  •  4
  •   Ryan McCue    16 年前

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

    如果不需要CData,它还可能导致解析器的开销。当你知道HTML(或其他)不会被使用时,尽量避免使用CDATA块,否则就使用它。

    也就是说,我同意Jamesh的观点,因为你应该总是喜欢Atom而不是RSS。我制作了一个提要阅读器,当抓取提要时,总是喜欢Atom而不是RSS。

        2
  •  3
  •   Mitchel Sellers    16 年前

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

    如果使用HTML编码,订户阅读器或网站ITESself必须解码源代码以显示HTML

        3
  •  0
  •   jamesh    16 年前

    冒着给你不想听到的答案的风险:使用 Atom 而不是 RSS。

    Atom是名称空间很好的XML,因此您可以在其中混合和匹配XHTML,而不必担心所询问的编码问题。

    RSS在任何地方都得到了很好的支持,因为它只是一个普通的原子,如果您真的不想使用库来操作它,就更容易自己滚动。

    Atom也是IETF标准,而RSS不是。

        4
  •  0
  •   R.J. Steinert    13 年前

    htmlEntities()的工作方式很迷人。不需要使用CDATA。 http://php.net/manual/en/function.htmlentities.php