DOMNode::replaceChild()函数是PHP中的内置函数,用于将旧的子节点替换为传递的新节点。此外,如果新节点已经是子节点,则不会第二次添加。如果替换成功,则返回旧节点。
用法:
DOMNode DOMNode::replaceChild( DOMNode $newnode, DOMNode $oldnode )
参数:该函数接受上述和以下所述的两个参数:
- $newnode:它指定新节点。
- $oldnode:它指定了旧节点。
返回值:如果发生错误,此函数将返回旧节点或FALSE。
异常:如果此节点为只读节点,或者如果要插入的节点的前一个父节点为只读节点,则此函数抛出DOM_NO_MODIFICATION_ALLOWED_ERR;如果此节点的类型不允许使用$newnode节点类型的子节点,则此函数抛出DOM_HIERARCHY_REQUEST_ERR,或者如果要放入的节点是该节点的祖先之一或该节点本身DOM_WRONG_DOCUMENT_ERR,如果$newnode是从与创建该节点的文档不同的文档DOM_NOT_FOUND创建的,如果$oldnode不是此节点的子级。
以下示例说明了PHP中的DOMNode::replaceChild()函数:
程序1:
<?php
// Create a new DOMDocument instance
$document = new DOMDocument();
// Create a root element
$element = $document->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();
输出:
<?xml version="1.0"?> <root>Hello ! replaced</root>
范例2:
<?php
// Create a new DOMDocument instance
$document = new DOMDocument();
// Create a h1 element
$element = $document->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();
?>
输出:
<?xml version="1.0"?> <root>GeeksforGeeks</root>
参考: https://www.php.net/manual/en/domnode.replacechild.php
相关用法
- PHP DOMNode isDefaultNamespace()用法及代码示例
- PHP DOMNode hasChildNodes()用法及代码示例
- PHP DOMNode lookupPrefix()用法及代码示例
- PHP DOMNode lookupNamespaceUri()用法及代码示例
- PHP DOMNode isSupported()用法及代码示例
- PHP DOMNode removeChild()用法及代码示例
- PHP DOMNode normalize()用法及代码示例
- PHP DOMNode appendChild()用法及代码示例
- PHP DOMNode getLineNo()用法及代码示例
- PHP DOMNode C14N()用法及代码示例
- PHP DOMNode hasAttributes()用法及代码示例
- PHP DOMNode getNodePath()用法及代码示例
- PHP DOMNode C14NFile()用法及代码示例
- PHP DOMNode cloneNode()用法及代码示例
- PHP DOMNode isSameNode()用法及代码示例
注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | DOMNode replaceChild() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。