当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP DOMNode replaceChild()用法及代码示例


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




相关用法


注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | DOMNode replaceChild() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。