函数:DOMNode::insertBefore()
适用版本:PHP 5, PHP 7
用法:该方法用于在DOM文档中的特定节点之前插入一个新的子节点。
语法: public DOMNode::insertBefore ( DOMNode $newnode [, DOMNode $refnode ] ) : DOMNode|false
参数:
- $newnode: 要插入的新节点
- $refnode (可选): 参考节点,新节点将插入到该参考节点之前。如果不提供此参数,则新节点将插入到父节点的末尾。
返回值:
- 如果插入成功,返回插入的新节点
- 如果失败,返回false
示例:
$dom = new DOMDocument();
$element = $dom->createElement('div', 'Hello World');
$parent = $dom->createElement('parent');
$parent->appendChild($element);
$newElement = $dom->createElement('span', 'Goodbye');
// 在参考节点$element之前插入新节点$newElement
$parent->insertBefore($newElement, $element);
// 输出参考节点之后的所有节点
foreach ($element->nextSibling as $sibling) {
echo $sibling->textContent . PHP_EOL;
}
以上示例中,我们首先创建了一个DOM文档对象及父节点parent
和一个子节点element
。然后,我们使用insertBefore()
函数在element
节点之前插入了一个新的子节点newElement
。最后,我们使用一个循环来输出element
节点之后的所有兄弟节点的文本内容。