La función DOMNode::cloneNode() es una función incorporada en PHP que se usa para crear una copia del Node.
Sintaxis:
DOMNode DOMNode::cloneNode( bool $deep )
Parámetros: esta función acepta un único parámetro $deep que indica si se deben copiar todos los Nodes descendientes. Este parámetro se establece en FALSO de forma predeterminada.
Valor de retorno: esta función devuelve el Node clonado.
Programa 1:
<?php // Create a DOMDocument $doc = new DOMDocument(); // Load XML $doc->loadXML('<html></html>'); // Create an heading element on DOMDocument object $h1 = $doc->createElement('h1', "geeksforgeeks"); // Append the child $doc->documentElement->appendChild($h1); // Create a new DOMDocument $doc_new = new DOMDocument(); // Deep clone the node to new instance $doc_new = $doc->cloneNode(true); // Render the cloned instance echo $doc_new->saveXML(); ?>
Producción:
Programa 2:
<?php // Create a DOMDocument $doc = new DOMDocument('1.0', 'iso-8859-1'); // Load XML $doc->loadXML('<html></html>'); // Create an heading element on DOMDocument object $h1 = $doc->createElement('h1', "geeksforgeeks"); // Append the child $doc->documentElement->appendChild($h1); // Shallow clone the node to a new instance // It will clone only the instance not its // children nodes $doc_new = $doc->cloneNode(false); // Render the cloned instance echo $doc_new->saveXML(); ?>
Salida: Presione Ctrl + U para ver el DOM
Referencia: https://www.php.net/manual/en/domnode.clonenode.php