La función DOMNode::insertBefore() es una función incorporada en PHP que se usa para insertar un nuevo Node antes de otro Node determinado.
Sintaxis:
DOMNode DOMNode::insertBefore( DOMNode $newNode, DOMNode $refNode )
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- $newNode: Especifica el nuevo Node.
- $refNode (Opcional): Especifica el Node de referencia. Si no se proporciona, newnode se agrega a los elementos secundarios.
Valor de retorno: esta función devuelve el Node insertado.
Excepciones: esta función arroja DOM_NO_MODIFICATION_ALLOWED_ERR , si este Node es de solo lectura o si el padre anterior del Node que se inserta es de solo lectura. DOM_HIERARCHY_REQUEST_ERR , si este Node es de un tipo que no permite elementos secundarios del tipo de Node $newNode , o si el Node que se agregará es uno de los ancestros de este Node o este Node mismo, DOM_WRONG_DOCUMENT_ERR , si $newNode se creó a partir de un Node diferente documento que el que creó este Node, DOM_NOT_FOUND , si $refNode no es un elemento secundario de este Node.
Los programas dados a continuación ilustran la función DOMNode::insertBefore() en PHP:
Programa 1:
<?php // Create a new DOMDocument $dom = new DOMDocument(); // Create a paragraph element $p_element = $dom->createElement('p', 'This is the paragraph element!'); // Append the child $dom->appendChild($p_element); // Create a paragraph element $h_element = $dom->createElement('h1', 'This is the heading element!'); // Insert heading before HTML $dom->insertBefore($h_element, $p_element); // Render the output echo $dom->saveXML(); ?>
Producción:
<?xml version="1.0"?> <h1>This is the heading element!</h1> <p>This is the paragraph element!</p>
Programa 2:
<?php // Create a new DOMDocument $dom = new DOMDocument(); // Create a paragraph element $p_element = $dom->createElement('p', 'GeeksforGeeks, paragraph'); // Append the child $dom->appendChild($p_element); // Create a paragraph element $h_element = $dom->createElement('h1', 'GeeksforGeeks, heading'); // When second argument is not provided // It will appended to the child $dom->insertBefore($h_element); // Render the output echo $dom->saveXML(); ?>
Producción:
<?xml version="1.0"?> <p>GeeksforGeeks, paragraph</p> <h1>GeeksforGeeks, heading</h1>
Referencia: https://www.php.net/manual/en/domnode.insertbefore.php