我正在使用html_entity_decode($row['Content'])
在JSON
文档中显示包含HTML
的一些PHP
数据。问题是返回的某些数据具有开放的HTML标记,例如<strong>
,然后继续显示在之后显示的内容。
有没有办法终止HTML?
答案 0 :(得分:1)
如果您接受来自外部来源的原始HTML嵌入您的网站,您应始终 始终 ,重新格式化并将其列入白名单。您不知道第三方HTML可能包含哪些内容,并且您无法保证它是有效的;但是在您的网站上,您可能希望保证有效的HTML对其内容有一定的限制(或者您真的想要启用嵌入任意<script>
标签......?!)。
这意味着你想:
据说最好的PHP库是HTML Purifier。如果不使用库,您可以使用宽松的HTML解析器(例如DOMDocument
)来检查和过滤内容,然后使用内置的DOMDocument::saveXML
来生成新的已清理的HTML。