【发布时间】:2008-09-22 03:22:45
【问题描述】:
我正在尝试将 Flash 视频的 html 嵌入代码放入 rss feed,然后由我的其他站点上的解析器 (magpie) 解析。我应该如何在一侧对嵌入代码进行编码,然后在另一侧对其进行解码,以便我可以将干净的 html 插入到接收服务器上的 DB 中?
【问题讨论】:
标签: php html xml validation rss
我正在尝试将 Flash 视频的 html 嵌入代码放入 rss feed,然后由我的其他站点上的解析器 (magpie) 解析。我应该如何在一侧对嵌入代码进行编码,然后在另一侧对其进行解码,以便我可以将干净的 html 插入到接收服务器上的 DB 中?
【问题讨论】:
标签: php html xml validation rss
由于 RSS 是 XML,您可能需要查看 CDATA,我认为它在各种 RSS 规范中都是有效的。
这是 w3schools 的条目:http://www.w3schools.com/XML/xml_cdata.asp
【讨论】:
htmlencode/htmldecode 应该可以解决问题。
【讨论】:
我一直在使用 htmlentities/html_entity_decode 但由于某种原因它不适用于解析器。在正常测试中它可以工作,但解析器总是返回不带 " 字符的 html 代码。
【讨论】:
RSS 是 XML。它有非常具体的 HTML 编码规则。如果您正在生成它,我建议您使用 xml 库来编写包含 HTML 的节点,以确保您获得正确的编码。
HTMLencode 只会执行在 HTML 中嵌入数据所需的转义,XML 规则更严格。
【讨论】:
与其编写自己的 RSS XML 提要,不如考虑使用来自django.contrib.syndication 的 Django 联合框架:
https://docs.djangoproject.com/en/dev/ref/contrib/syndication/
它还支持附件,这是嵌入图像或视频的 RSS 方式。
对于自定义标签,还有一个允许您更改 XML 的低级 API: https://docs.djangoproject.com/en/dev/ref/contrib/syndication/#the-low-level-framework
【讨论】: