文字データを新しいノードで置き換える

# 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"?>
    <container>beautiful<world/></container>

### 参考

- Dom\ChildNode::replaceWith() - ノードを新しいノードで置き換える
- Dom\CharacterData::after() - 文字データの後ろにノードを追加する
- Dom\CharacterData::before() - 文字データの前にノードを追加する
- Dom\CharacterData::remove() - CDATAノードを削除する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open