【发布时间】:2011-01-16 08:15:14
【问题描述】:
我正在使用 PHP 的 DOM 对象为我的网站创建 HTML 页面。这对我的头脑很有用,但是由于我将在正文中输入大量 HTML(而不是通过 DOM),我认为我需要使用 DOM->createElement($bodyHTML) 将我的 HTML 从我的站点添加到 DOM 对象。
但是DOM->createElement 似乎解析了所有 HTML 实体,所以我的最终结果是在页面上显示 HTML,而不是实际呈现的 HTML。
我目前正在使用 hack 来让它工作,
$body = $this->DOM
->createComment('DOM Glitch--><body>'.$bodyHTML."</body><!--Woot");
这将我所有的网站代码放在评论中,我绕过评论并手动添加<body>标签。
目前这种方法有效,但我相信应该有更合适的方法来做到这一点。理想情况下,像 DOM->createElement() 这样的东西不会解析任何字符串。
我也尝试过使用DOM->createDocumentFragment(),但是它不喜欢某些字符串,因此它会出错并且无法正常工作(同时会占用额外的 CPU 资源来重新解析正文的 HTML)。
所以,我的问题是,除了使用DOM->createComment() 之外,还有更好的方法吗?
【问题讨论】:
-
您确定您的 HTML 是正确的吗? DOM (PHP) 和类似发明背后的想法是确保标记正确且有效,从而拒绝所有无效代码。
-
“©”之类的错误(在
标签内)