📜  PHP | DOMNode replaceChild()函数

📅  最后修改于: 2022-05-13 01:56:47.268000             🧑  作者: Mango

PHP | DOMNode replaceChild()函数

DOMNode::replaceChild()函数是PHP中的一个内置函数,用于用传递的新节点替换旧的子节点。此外,如果新节点已经是子节点,则不会第二次添加。如果替换成功,则返回旧节点。

句法:

DOMNode DOMNode::replaceChild( DOMNode $newnode, DOMNode $oldnode )

参数:此函数接受上面提到的两个参数,如下所述:

  • $newnode:指定新节点。
  • $oldnode:它指定旧节点。

返回值:如果发生错误,此函数返回旧节点或 FALSE。

例外:此函数抛出 DOM_NO_MODIFICATION_ALLOWED_ERR,如果此节点是只读的,或者如果要插入的节点的前一个父节点是只读的,则 DOM_HIERARCHY_REQUEST_ERR,如果此节点的类型不允许具有$newnode类型的子节点节点,或者如果要放入的节点是该节点的祖先之一或该节点本身,则 DOM_WRONG_DOCUMENT_ERR,如果$newnode是从与创建此节点的文档不同的文档创建的,则 DOM_NOT_FOUND,如果$oldnode不是此节点的子节点节点。

下面的例子说明了PHP中的DOMNode::replaceChild()函数

方案一:

appendChild(new DOMElement('root'));
  
// Create the text Node
$text1 = $document->createTextNode('Hello ! ');
$text2 = $document->createTextNode('Text to be replaced');
$text3 = $document->createTextNode('replaced');
  
// Append the nodes
$element->appendChild($text1);
$element->appendChild($text2);
  
// Replace the child
$element->replaceChild($text3, $text2);
  
// Render the output
echo $document->saveXML();

输出:


Hello ! replaced

示例 2:

appendChild(new DOMElement('h1'));
  
// Create the text Node
$text1 = $document->createTextNode('Geeksfor');
$text2 = $document->createTextNode('Text to be removed');
$text3 = $document->createTextNode('Geeks');
  
// Append the nodes
$element->appendChild($text1);
$element->appendChild($text2);
  
// Replace the child
$element->replaceChild($text3, $text2);
  
// Render the output
echo $document->saveXML();
?>

输出:


GeeksforGeeks

参考: https://www. PHP.net/manual/en/domnode.replacechild。 PHP