當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。