函数:DOMDocument::replaceChildren()
适用版本:PHP 5, PHP 7, PHP 8
用法:DOMDocument::replaceChildren() 方法用于替换当前 DOMDocument 对象的所有子节点。
语法:
public function DOMDocument::replaceChildren ( DOMNode $newChild ) : DOMNode|false
参数:
- $newChild: 要替换为当前节点的子节点。
返回值:
- 如果替换成功,返回替换后的 DOMNode 对象。
- 如果替换失败,返回 false。
示例:
// 创建一个新的 DOMDocument 对象
$dom = new DOMDocument();
// 创建一个 <div> 元素
$divElement = $dom->createElement('div');
// 创建一个文本节点
$textNode = $dom->createTextNode('Hello, World!');
// 将文本节点添加为 <div> 元素的子节点
$divElement->appendChild($textNode);
// 打印替换前的子节点
echo "替换前的子节点:";
foreach ($dom->documentElement->childNodes as $node) {
echo $dom->saveXML($node);
}
// 创建一个新的文本节点
$newTextNode = $dom->createTextNode('Goodbye, World!');
// 替换子节点
$dom->replaceChildren($newTextNode);
// 打印替换后的子节点
echo "替换后的子节点:";
foreach ($dom->documentElement->childNodes as $node) {
echo $dom->saveXML($node);
}
输出:
替换前的子节点:Hello, World!
替换后的子节点:Goodbye, World!
在上面的例子中,我们首先创建了一个新的 DOMDocument 对象,并使用 createElement() 和 createTextNode() 方法创建了一个
元素和一个文本节点。然后,我们将文本节点添加为
元素的子节点,使用 appendChild() 方法。接下来,我们使用 replaceChildren() 方法替换了子节点,将原来的文本节点替换为一个新的文本节点。最后,我们打印出替换前和替换后的子节点,可以看到已成功替换。