# DOMElement::replaceWith

(PHP 8)

DOMElement::replaceWith — Replaces the element with new nodes

### 说明

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

Replaces the element with new `nodes`.

### 参数

`nodes`

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

### 返回值

没有返回值。

### 错误／异常

`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.

### 更新日志

版本 | 说明
--- | ---
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`.

### 示例

示例 #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();
?>`

以上示例会输出：

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

### 参见

- DOMChildNode::replaceWith() - Replaces the node with new nodes
- DOMElement::replaceChildren() - Replace children in element
- DOMElement::after() - Adds nodes after the element
- DOMElement::before() - Adds nodes before the element
- DOMElement::remove() - Removes the element

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open