DOMElement::replaceWith

(PHP 8)

DOMElement::replaceWithReplaces the element with new nodes

Description

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

Replaces the element with new nodes.

Parameters

nodes

The replacement nodes. Strings are automatically converted to text nodes.

Return Values

No value is returned.

Errors/Exceptions

DOM_HIERARCHY_REQUEST_ERR

Raised if the parent is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Changelog

Version Description
8.3.0 Calling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Examples

Example #1 DOMElement::replaceWith() example

Replaces the element with new nodes.

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

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

echo
$doc->saveXML();
?>

The above example will output:

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

See Also