« Dom\CharacterData::replaceData
Dom\CharacterData::substringData »

Dom\CharacterData::replaceWith

(PHP 8 >= 8.4.0)

Dom\CharacterData::replaceWith — 文字データを新しいノードで置き換える

説明

public function Dom\CharacterData::replaceWith(Dom\Node|string ...$nodes): void

文字データを新しい nodes で置き換えます。

パラメータ

nodes

置き換えるノード。 文字列は自動的にテキストノードに変換されます。

戻り値

値を返しません。

エラー / 例外

DOM_HIERARCHY_REQUEST_ERR

指定された nodes のうちの一つの子ノードの型を、 親ノードが許可していない場合や、ノードが自分自身やその祖先であった場合に発生します。

DOM_WRONG_DOCUMENT_ERR

指定された nodes のうちの一つが、 このノードを作成したドキュメントとは異なるものから作成された場合に発生します。

例

例1 Dom\CharacterData::replaceWith() の例

文字データを新しいノードで置きかえます。

<?php
$doc = Dom\XMLDocument::createFromString("<container><![CDATA[hello]]></container>");
$cdata = $doc->documentElement->firstChild;

$cdata->replaceWith("beautiful", $doc->createElement("world"));

echo $doc->saveXML();
?>

上の例の出力は以下となります。

<?xml version="1.0" encoding="UTF-8"?>
<container>beautiful<world/></container>

参考

関連キーワード:
ノード   CharacterData   replaceWith   nodes   container   cdata   world   replaceData   substringData   Node   自動的   テキスト   許可   自分自身   祖先   ドキュメント   XMLDocument   createFromString   hello   documentElement   firstChild   createElement   saveXML   encoding   参考
関連する関数・ページ:
dom-characterdata.after   dom-characterdata.before   dom-characterdata.remove   dom-characterdata.appenddata   class.dom-characterdata   dom-characterdata.deletedata