Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<DOMElement::replaceChildrenDOMElement::setAttribute>
^DOMElementLast updated: Mon, 26 Oct 2026

DOMElement::replaceWith

(PHP 8)

DOMElement::replaceWith — Replaces the element with new nodes

Description

public function 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


<DOMElement::replaceChildrenDOMElement::setAttribute>
^DOMElementLast updated: Mon, 26 Oct 2026