Заменяет дочерние элементы фрагмента

# DOMDocumentFragment::replaceChildren

(PHP 8 >= 8.3.0)

DOMDocumentFragment::replaceChildren — Заменяет дочерние элементы фрагмента

### Описание

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

Заменяет дочерние элементы фрагмента документа на новые узлы `nodes`.

### Список параметров

`nodes`

  Узлы, которыми будут заменены потомки. Строки автоматически преобразовываются в текстовые узлы.

### Возвращаемые значения

Функция не возвращает значения после выполнения.

### Ошибки

`DOM_HIERARCHY_REQUEST_ERR`
  Возникает, если тип одного из переданных в параметре `nodes` элементов не допускается в типе узла, или если добавляемый узел является одним из предков этого узла или самим этим узлом.
`DOM_WRONG_DOCUMENT_ERR`
  Возникает, если один из переданных в параметре `nodes` элементов был создан из документа, отличного от того, в котором был создан этот узел.

### Список изменений

Версия | Описание
--- | ---
8.3.0 | Вызов метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом `DOM_HIERARCHY_REQUEST_ERR`.

### Примеры

Пример #1 Пример использования метода DOMDocumentFragment::replaceChildren()

Замена дочерних узлов новыми.

    <?php
    $doc = new DOMDocument;
    $doc->loadXML("<container><hello/></container>");
    $fragment = $doc->createDocumentFragment();
    $fragment->append("hello");

    $fragment->replaceChildren("beautiful", $doc->createElement("world"));

    echo $doc->saveXML($fragment);
    ?>

Результат выполнения приведённого примера:

    beautiful
    <world/>

### Смотрите также

- DOMParentNode::replaceChildren() - Заменяет потомков в узле
- DOMDocumentFragment::append() - Добавляет узлы после последнего дочернего узла
- DOMDocumentFragment::prepend() - Добавляет узлы перед первым дочерним узлом

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