Statement on glibc/iconv Vulnerability

DOMCharacterData::replaceWith

(PHP 8)

DOMCharacterData::replaceWithЗаменяет символьные данные новыми узлами

Описание

public DOMCharacterData::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 Пример использования метода DOMCharacterData::replaceWith()

Замена символьных данных новыми узлами.

<?php
$doc
= new DOMDocument;
$doc->loadXML("<container><![CDATA[hello]]></container>");
$cdata = $doc->documentElement->firstChild;

$cdata->replaceWith("beautiful", $doc->createElement("world"));

echo
$doc->saveXML();
?>

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

<?xml version="1.0"?>
<container>beautiful<world/></container>

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

add a note

User Contributed Notes

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