Заменяет элемент новыми узлами

# DOMElement::replaceWith

(PHP 8)

DOMElement::replaceWith — Заменяет элемент новыми узлами

### Описание

public function DOMElement::replaceWith(DOMNode|string `...$nodes`): void

Заменяет элемент новыми узлами `nodes`.

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

`nodes`

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

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

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

### Ошибки

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

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

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

### Примеры

Пример #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>

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

- DOMChildNode::replaceWith() - Заменяет узел на новые узлы
- DOMElement::replaceChildren() - Заменяет дочерние элементы в элементе
- DOMElement::after() - Добавляет узлы после элемента
- DOMElement::before() - Добавляет узлы перед элементом
- DOMElement::remove() - Удаляет элемент

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