函式名:replaceWith()
適用版本:PHP 7.2.0 及以上版本(需要啟用 DOM 擴充套件)
用法:DOMCharacterData::replaceWith() 函式用於替換當前 DOMCharacterData 節點的內容。該函式接受一個變數作為引數,在替換時將其轉換為文字節點或者 DOMText 物件。
示例程式碼:
$dom = new DOMDocument();
$dom->loadXML("<root><text>Hello world!</text></root>");
$textNode = $dom->getElementsByTagName('text')->item(0);
$textNode->firstChild->replaceWith("New content");
echo $dom->saveXML();
輸出結果:
<root><text>New content</text></root>
解釋:
- 首先建立一個 DOMDocument 物件,並載入一個包含
<text>
節點的 XML。 - 透過 getElementsByTagName() 方法獲取
<text>
節點,並使用 item(0) 獲取第一個匹配的節點。 - 使用 replaceWith() 方法將
<text>
節點的內容替換為 "New content"。 - 最後使用 saveXML() 方法輸出修改後的 XML 結果。
注意事項:
- replaceWith() 方法會將傳入的引數轉換為文字節點或者 DOMText 物件,如果傳入的引數是字串,會建立一個文字節點;如果傳入的引數是一個 DOMNode 物件,那麼會直接使用該節點進行替換。
- 如果當前 DOMCharacterData 節點沒有父節點,那麼 replaceWith() 方法將會丟擲一個 DOMException 異常。