Statement on glibc/iconv Vulnerability

DOMDocumentFragment::replaceChildren

(PHP 8 >= 8.3.0)

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

Описание

public 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->replaceWith("beautiful", $doc->createElement("world"));

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

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

beautiful
<world/>

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

add a note

User Contributed Notes

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