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