我正在使用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()之外,还有更好的方法吗?
解决方法 您使用DOMdocumentFragment objec将任意HTML块插入另一个文档.$dom = new DOMdocument();@$dom->loadHTML($some_HTML_document); // @ to suppress a bajillion parse errors$frag = $dom->createdocumentFragment(); // create fragment$frag->appendXML($some_other_HTML_snippet); // insert arbitary HTML into the fragment$node = // some operations to find whatever node you want to insert the fragment into$node->appendChild($frag); // stuff the fragment into the original tree总结
以上是内存溢出为你收集整理的如何将HTML插入PHP DOM对象?全部内容,希望文章能够帮你解决如何将HTML插入PHP DOM对象?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)