cómo raspar los datos de la página web sin perder tags

Estoy intentando raspar datos web usando php y dom xpath. Cuando almaceno $ node-> nodeValue en mi base de datos o incluso si trato de repetirlo, faltan todas las tags como

y
. Así que estoy obteniendo todos los paras concatenados. Cómo resolver este problema

Si tiene un nodo y necesita todos sus contenidos tal como están, puede usar esta función:

 function innerHTML(DOMNode $node) { $doc = new DOMDocument(); foreach ($node->childNodes as $child) { $doc->appendChild($doc->importNode($child, true)); } return $doc->saveHTML(); } 

Si está navegando por el DOM, lo más probable es que ya no haya tags para ver. Las tags ahora son nodos dentro del DOM – el contenido sin procesar contenido en las tags es todo lo que tiene acceso en “forma de cadena”. Por supuesto, puede usar información de nodo para reconstruir las tags, pero no serán las originales (por ejemplo, tendrá que elegir
o
– no sabrá qué sitio originalmente tenía). . Si quiere las tags originales desde el principio, obtenga la secuencia original de bytes devuelta por GET / POST que realizó; no lo analice en un árbol DOM.