我想编写一个使用RSS的应用程序。我希望能够将RSS提要的项目描述中的一些项目显示为HTML,例如图像,链接,br等。但是,我不希望任何嵌入式脚本运行,unruly css元素等.I也不想重新发明轮子。他们的任何库是否只删除了正确的HTML级别吗?
我遇到的问题是我正在从phpBB生成一个RSS提要,所以这些帖子确实已经有了br和一个(链接)标签。但是,用户可以在帖子中粘贴脚本标记,它将被正确编码以在页面上显示为文本。
但是,当我在RSS阅读器中查看帖子时,帖子中的所有html都被编码为<和> ......等。这模糊了br标签和(小于)脚本(greaterthan)标签之间的区别,因为它们都出现在& l t;和& g t;
我觉得这应该更容易,我只是错过了一些明显的东西......我希望。
答案 0 :(得分:0)
您的问题并不十分清楚,但通常在尝试清理html输出时,您只想允许标签的白名单。
这是strip_tags的javascript实现,您可以轻松地适应.net
http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_strip_tags/
答案 1 :(得分:0)
我明白了。我使用的RSS脚本导致html编码的尖括号与rss feed中的真实html“混合”
这是源于phpBB的源代码:
<a href="link">link</a>
<script>alert("hack you");</script>
但是在我的RSS Feed中,它被生成为:(注意转义的html和非转义的html之间没有区别)
<a href="link">link</a>
<script>alert("hack you");</script>
我对rss.php文件进行了更改,因此将其转换为:
<a href="link">link</a>
&lt;script&gt;alert("hack you");&lt;/script&gt;
这样就可以正确显示在RSS Feed中。
谢谢!