我试图将用于 Flash 视频的 html 嵌入代码放入 中,然后将由我的其他站点上rss feed
的解析器进行解析。(magpie)
我应该如何在一侧对嵌入代码进行编码,然后在另一侧对其进行解码,以便我可以将干净的 html 插入到DB
接收服务器上?
5 回答
由于 RSS 是 XML,您可能想查看 CDATA,我相信它在各种 RSS 规范中都是有效的。
<摘要><![CDATA[此处的数据]]>
这是 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 联合框架django.contrib.syndication
:
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