【发布时间】:2013-08-31 12:05:34
【问题描述】:
我正在使用 PHPs DOM 来构建 HTML 文档。
在文档的最后,我创建了一个脚本元素。
如果脚本有任何实体,特别是 ,那么这些将被转换为 <和>
如果我有任何包含这些字符的字符串(或者在我的情况下是正则表达式),这显然是一个问题
是否有一种非 hackish 方式(即不是字符串替换)来仅在脚本标签中防止这种行为?
【问题讨论】:
-
As answered,这通常有效。这是多个 PHP 和 libxml 版本的在线演示:3v4l.org/ntvAh - 您可能有兴趣阅读:When is a CDATA section necessary within a script tag? / 4.8. Script and Style elements - XHTML 1.0
-
非常感谢,看来我需要将脚本元素的内容添加为 CDATA 部分!
-
我在答案中添加了一个 CDATA 示例 XML/HTML 混合代码。 DOMDocument 足够聪明,可以在输出时有所不同。如果您牢记这一点并直接插入 CDATA,您以后甚至可以轻松更改。
-
谢谢,我一看到你发送的链接就点击了;有没有办法避免由于 CDATA 标签而导致 javascript 生成错误?我意识到它们应该被允许作为规范的一部分,但在实践中似乎并非如此
-
我从浏览器收到“语法错误
标签: php javascript html dom entities