PHPerKaigi 2024

DOMParentNode::replaceChildren

(PHP 8 >= 8.3.0)

DOMParentNode::replaceChildrenЗаменяет потомков в узле

Описание

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

Заменяет потомков в узле.

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

nodes

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

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

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

Ошибки

DOM_HIERARCHY_REQUEST_ERR

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

DOM_WRONG_DOCUMENT_ERR

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

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

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

Примеры

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

<?php

$dom
= new DOMDocument();
$dom->loadHTML('<!DOCTYPE HTML><html><p>Привет!</p> проверка <p>Снова привет!</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>
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top