node getelementsbytagnamens domnodelist php domdocument

getelementsbytagnamens - php dom get element by id



¿Cómo eliminar elementos con DOMDocument? (3)

Elimine el nodo diciendo al nodo padre que elimine al niño:

$href->parentNode->removeChild($href);

Ver DOMNode::$parentNodeDocs y DOMNode::removeChild()Docs .

Ver también:

¿Es posible eliminar un elemento del DOM cargado sin crear uno nuevo? Por ejemplo algo como esto:

$dom = new DOMDocument(''1.0'', ''utf-8''); $dom->loadHTML($html); foreach($dom->getElementsByTagName(''a'') as $href) if($href->nodeValue == ''First'') //delete


Esto me tomó un tiempo averiguarlo, así que aquí hay una aclaración:

Si está eliminando elementos de un bucle (como en el ejemplo de OP), debe realizar un ciclo hacia atrás

$elements = $completePage->getElementsByTagName(''a''); for ($i = $elements->length; --$i >= 0; ) { $href = $elements->item($i); $href->parentNode->removeChild($href); }

Documentación de DOMNodeList : puede modificar, e incluso eliminar, nodos desde un DOMNodeList si itera hacia atrás


Fácilmente:

$href->parentNode->removeChild($href);