【问题标题】:html_entity_decode Terminate?html_entity_decode 终止?
【发布时间】:2016-04-25 12:09:44
【问题描述】:

我正在使用html_entity_decode($row['Content'])PHP 文档中显示一些包含HTMLJSON 数据。问题是一些被返回的数据有打开的 HTML 标签,例如<strong>,然后继续显示在后面的内容。

有什么方法可以终止 HTML 吗?

【问题讨论】:

    标签: php html json


    【解决方案1】:

    如果您曾经接受来自外部来源的原始 HTML 并将其嵌入您的网站,您应该始终始终重新格式化并将其列入白名单。您不知道该第 3 方 HTML 可能包含什么,并且您无法保证它是有效的;但是在您的网站上,您可能希望保证其内容具有一定限制的有效 HTML(或者您真的想要启用任意 <script> 标签的嵌入...?!)。

    这意味着你想要:

    1. 解析 HTML 并提取其中的任何结构信息
    2. 过滤该结构以仅允许批准的元素,然后
    3. 根据您可以保证在语法上有效的 HTML 生成您自己的 HTML。

    据说最好的 PHP 库是 HTML Purifier。在不使用库的情况下,您将使用宽松的 HTML 解析器,例如 DOMDocument 来检查和过滤内容,然后使用内置的 DOMDocument::saveXML 来生成新的净化 HTML。

    【讨论】:

    猜你喜欢
    • 2011-06-06
    • 1970-01-01
    • 2016-02-03
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多