(PHP 5, PHP 7, PHP 8)
DOMNode::insertBefore — Adds a new child before a reference node
This function inserts a new node right before the reference node. If you plan to do further modifications on the appended child you must use the returned node.
When using an existing node it will be moved.
nodeThe new node.
child
       The reference node. If not supplied, node is
       appended to the children.
      
The inserted node.
DOM_NO_MODIFICATION_ALLOWED_ERRRaised 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 node node, or if the node to 
       append is one of this node's ancestors or this node itself.
      
DOM_WRONG_DOCUMENT_ERR
       Raised if node was created from a different 
       document than the one that created this node.
      
DOM_NOT_FOUND
       Raised if child is not a child of this node.