# DOMNode::replaceChild

(PHP 5, PHP 7)

DOMNode::replaceChild — Replaces a child

### Description

public DOMNode::replaceChild ( DOMNode `$newnode` , DOMNode `$oldnode` ) : DOMNode

This function replaces the child `oldnode` with the passed new node. If the `newnode` is already a child it will not be added a second time. If the replacement succeeds the old node is returned.

### Parameters

`newnode`

  The new node. It must be a member of the target document, i.e. created by one of the DOMDocument->createXXX() methods or imported in the document by DOMDocument::importNode.

`oldnode`

  The old node.

### Return Values

The old node or `FALSE` if an error occur.

### Errors/Exceptions

`DOM_NO_MODIFICATION_ALLOWED_ERR`

  Raised if this node is readonly or if the previous parent of the node being inserted is readonly.

`DOM_HIERARCHY_REQUEST_ERR`

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

`DOM_WRONG_DOCUMENT_ERR`

  Raised if `newnode` was created from a different document than the one that created this node.

`DOM_NOT_FOUND`

  Raised if `oldnode` is not a child of this node.

### See Also

- DOMNode::appendChild() - Adds new child at the end of the children
- DOMNode::removeChild() - Removes child from list of children