如何使用PHP的DOMDocument用div包装两个选定的元素? [英] How can I wrap two chosen elements with a div using PHP's DOMDocument?
本文介绍了如何使用PHP的DOMDocument用div包装两个选定的元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用PHP的DOMDocument(在DOMXPath的少许帮助下)选择了2个元素(兄弟姐妹)。
I have selected 2 elements (siblings) using PHP's DOMDocument (with a little help of DOMXPath).
$dom = new DOMDocument('1.0', 'UTF-8');
$dom->preserveWhiteSpace = FALSE;
$dom->loadHTML($content);
$xpath = new DOMXPath($dom);
$query = '//h3[text() = "Amenities"]';
$title = $xpath->query($query)->item(0);
$list = $title->nextSibling;
这使我获得 h3
标题( $ title
)和 ul
列表( $ list
)。
This gets me the h3
title ($title
) and the ul
list ($list
).
我想用 div
包裹它们,并添加 id
。
I want to wrap them with a div
, and add an id
.
我确定我可以做 id
部分,但我不确定如何将这些元素包装在DOMDocument中。
I'm sure I can do the id
part, but I'm not sure how to wrap these elements in DOMDocument.
我会吗?
- 新建
div
元素 - 克隆元素(
h3
和ul
)并将其作为新创建的div
- 的子元素插入(原始的
h3
和ul
)
- Create new
div
element - Clone elements (
h3
andul
) and insert them as children of newly createddiv
- Remove old elements (original
h3
andul
)
推荐答案
您可以使用 appendChild()
方法来移动现有节点。因此:
You can use the appendChild()
method to move an existing node. So:
- 创建一个新的div
- 在新的div上使用appendChild来创建您选择的元素这个div的孩子
这篇关于如何使用PHP的DOMDocument用div包装两个选定的元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文