php - 清理 Feed 聚合器的 RSS Feed 内容

标签 php javascript rss html-encode

我正在用 PHP 构建一个 RSS 提要聚合器/阅读器。由于 RSS 本质上是用户生成的内容,因此我不想依赖提要内容的安全性。

我正在寻求有关清理供稿内容以便在用户设备上存储和显示的建议。目前,我正在使用 htmlentities(feed_content) 转义所有字符,但这不起作用,因为它 UTF-8 编码的字符无法在 Javascript 中解码(我用于前端构建) .

- Original: "Soundtrack: Dinosaur Jr. - Don’t Pretend You Didn’t Know I hadn’t thought much..."

- After htmlentities: "Copyright-Infringing Tweets Will Now Be “Withdrawn” Instead of “Disappeared..."

- After JS decodeURI: "Copyright-Infringing Tweets Will Now Be “Withdrawn” Instead of “Disappeared..."

如果我删除上面的 htmlentities,文本将正确显示。但我不确定这是否是确保数据得到净化的正确方法

最佳答案

将正确的字符集传递给 htmlencode:

echo htmlentities($str, ENT_QUOTES, "UTF-8");

...但通常没有必要这样做。只需确保设置正确的 header ,以便浏览器正确解释为 utf8:

header('Content-Type: text/html; charset=utf-8');

或者如果您使用 json 加载:

header('Content-type: application/json; charset=utf-8');

关于php - 清理 Feed 聚合器的 RSS Feed 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13231070/

相关文章:

php - 对象标识符的副本和对对象标识符的引用——在实际应用中应该使用哪一个?

php - 如何对php生成的html对象进行排序

PHP 数组警告 : Creating default object from empty value

javascript - Meteor Up 部署失败但应用程序在开发中运行良好

xml - RSS 阅读器的工作原理(netvibes、Google 阅读器...)

php - mysql连接

javascript - 带有 Javascript 的条纹表 DOM

javascript - 在 Javascript 中生成内容时应该使用字符串还是节点?

iphone - 如何从苹果 RSS 提要中识别 iOS 通用应用程序

php - XML 数据更新时只读