ノード中の子を置換する

# DOMParentNode::replaceChildren

(PHP 8 >= 8.3.0)

DOMParentNode::replaceChildren — ノード中の子を置換する

### 説明

public function DOMParentNode::replaceChildren(DOMNode|string `...$nodes`): void

ノード中の子を置換します。

### パラメータ

`nodes`

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

### 戻り値

値を返しません。

### エラー / 例外

`DOM_HIERARCHY_REQUEST_ERR`
  指定された `nodes` のうちの一つの子ノードの型を、 親ノードが許可していない場合や、ノードが自分自身やその祖先であった場合に発生します。
`DOM_WRONG_DOCUMENT_ERR`
  指定された `nodes` のうちの一つが、 このノードを作成したドキュメントとは異なるものから作成された場合に発生します。

### 変更履歴

バージョン | 説明
--- | ---
8.3.0 | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード `DOM_HIERARCHY_REQUEST_ERR` を持つ DOMException がスローされていました。

### 例

例1 DOMParentNode::replaceChildren() の例

    <?php

    $dom = new DOMDocument();
    $dom->loadHTML('<!DOCTYPE HTML><html><p>hi</p> test <p>hi2</p></html>');

    $dom->documentElement->replaceChildren('foo', $dom->createElement('p'), 'bar');
    echo $dom->saveXML();
    ?>

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

    <?xml version="1.0" standalone="yes"?>
    <!DOCTYPE HTML>
    <html>foo<p/>bar</html>

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