1

我想编写一个使用 RSS 的应用程序。我希望能够将 RSS 提要的项目描述中的一些项目显示为 HTML,例如图像、链接、br 等。但是,我不希望任何嵌入式脚本运行、不守规矩的 css 元素等。我也不想重新发明轮子。他们的任何库是否只删除了正确级别的 HTML?

我遇到的问题是我正在从 phpBB 生成一个 RSS 提要,所以这些帖子确实已经有 br 和 a (link) 标签。但是,用户可以在帖子中粘贴脚本标签,它会被正确编码以在页面上显示为文本。

但是,当我在 RSS 阅读器中查看帖子时,帖子中的所有 html 都被编码为 < 和 >...等。这模糊了 br 标签和(小于)脚本(大于)标签之间的区别,因为它们都出现在 & lt ; 和>

我觉得这应该更容易,我只是错过了一些明显的东西......我希望。

4

2 回答 2

0

您的问题并不完全清楚,但通常在尝试清理 html 以输出时,您只想允许标签白名单。

这是您可以轻松适应 .net 的 strip_tags 的 javascript 实现

http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_strip_tags/

于 2009-02-24T07:40:51.383 回答
0

我想到了。我使用的 RSS 脚本导致 html 编码的尖括号与 rss 提要中的真实 html “混合”

这是 phpBB 中源代码的样子:

<a href="link">link</a>
&lt;script&gt;alert("hack you");&lt;/script&gt;

但在我的 rss 提要中,它被生成为:(注意转义 html 和非转义 html 之间没有区别)

&lt;a href="link"&gt;link&lt;/a&gt;
&lt;script&gt;alert("hack you");&lt;/script&gt;

我对 rss.php 文件进行了更改,所以它变成了这样:

&lt;a href="link"&gt;link&lt;/a&gt;
&amp;lt;script&amp;gt;alert("hack you");&amp;lt;/script&amp;gt;

这样它就可以正确地显示在 RSS 提要中。

谢谢!

于 2009-02-24T14:53:48.177 回答