Adds nodes before the node

- « DOMCharacterData::appendData

- DOMCharacterData::deleteData »

- PHP Manual
- DOMCharacterData
- Adds nodes before the node

# DOMCharacterData::before

(PHP 8)

DOMCharacterData::before — Adds nodes before the node

### Description

public DOMCharacterData::before(DOMNode|string `...$nodes`): void

Adds the passed `nodes` before the node.

### Parameters

`nodes`

  Nodes to be added before the node. 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 DOMCharacterData::before() example

Adds nodes before the character data.

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

    $cdata->before("hello", $doc->createElement("beautiful"));

    echo $doc->saveXML();
    ?>

The above example will output:

    <?xml version="1.0"?>
    <container>hello<beautiful/><![CDATA[world]]></container>

### See Also

- DOMChildNode::before() - Adds nodes before the node
- DOMCharacterData::after() - Adds nodes after the character data