加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

如何将HTML插入PHP DOM对象?

发布时间:2020-12-24 20:40:41 所属栏目:资源 来源:网络整理
导读:参见英文答案 How to insert HTML to PHP DOMNode?5个 我正在使用PHP的DOM对象为我的网站创建HTML页面.这对我来说很有用,但是因为我会在身体中输入大量的HTML(不是通过DOM),我认为我需要使用DOM- createElement($bodyHTML)从我的网站添加我的HTML到DOM对象

参见英文答案 > How to insert HTML to PHP DOMNode?5个
我正在使用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

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读