DOMParentNode::replaceChildren()

替换指定节点的所有子节点

首字母:D

函数名称:DOMParentNode::replaceChildren() 适用版本:PHP 8.0.0 及以上版本

用法: DOMParentNode::replaceChildren() 方法用于替换指定节点的所有子节点。

语法:

public DOMParentNode::replaceChildren ( DOMNode $newChild [, DOMNode $oldChild = NULL ] ) : void

参数:

  1. $newChild(必需):要插入的新节点。
  2. $oldChild(可选):要替换的现有子节点。

示例: 假设我们有一个包含以下 HTML 代码的文件:



 

原始内容

现在,我们想要用一个新的

标签替换

标签。可以使用 DOMDocument 类来实现:

// 创建一个新的 DOMDocument 对象
$dom = new DOMDocument();
// 加载 HTML 文件
$dom->loadHTMLFile('path/to/file.html');
// 获取 #myDiv 元素
$myDiv = $dom->getElementById('myDiv');
// 创建一个新的 

标签 $h1 = $dom->createElement('h1', '替换后的内容'); // 替换

标签 $myDiv->replaceChildren($h1, $myDiv->getElementsByTagName('p')->item(0)); // 输出修改后的 HTML echo $dom->saveHTML();

此示例中,我们使用 DOMDocument 对象加载 HTML 文件,并获取了指定 ID 为 "myDiv" 的元素。然后,我们使用 createElement() 方法创建了一个新的

标签,并使用 replaceChildren() 方法将新的

标签替换了原来的

标签。最后,使用 saveHTML() 方法输出修改后的 HTML。

输出结果:



 

替换后的内容

注意:DOMParentNode::replaceChildren() 方法只适用于 DOM 扩展中的节点类(如 DOMDocument、DOMElement 等),不能直接在自定义类中使用。

同首字母函数