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