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