(PHP 8)
DOMElement::replaceWith — 要素を新しいノードで置換する
nodes
置き換えるノード。 文字列は自動的にテキストノードに変換されます。
値を返しません。
DOM_HIERARCHY_REQUEST_ERR
指定された nodes
のうちの一つの子ノードの型を、
親ノードが許可していない場合や、ノードが自分自身やその祖先であった場合に発生します。
DOM_WRONG_DOCUMENT_ERR
指定された nodes
のうちの一つが、
このノードを作成したドキュメントとは異なるものから作成された場合に発生します。
バージョン | 説明 |
---|---|
8.3.0 |
親がないノードに対して、
このメソッドをコールしても何もしなくなりました。
これは DOM の仕様が要求する振る舞いに合わせるためです。
これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。
|
例1 DOMElement::replaceWith() の例
要素を新しいノードで置換します。
<?php
$doc = new DOMDocument;
$doc->loadXML("<container><hello/></container>");
$cdata = $doc->documentElement->firstChild;
$cdata->replaceWith("beautiful", $doc->createElement("world"));
echo $doc->saveXML();
?>
上の例の出力は以下となります。
<?xml version="1.0"?> <container>beautiful<world/></container>