Ver Mensaje Individual
  #14 (permalink)  
Antiguo 16/12/2009, 00:53
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Como parsear este HTML

Cita:
Iniciado por jackson666 Ver Mensaje
El tema es el siguiente: si tenes mas eleentos u objetos dentro de las etiquetas div, no podes hacer un "echo" de un objeto, y ese es el problema... Yo bien te aclare que esto es solo para nodos de texto.
Lo que deberias hacer es seguir entrando dentro de los tags de la misma forma que entraste en el div... se entiende?
Gracias jackson666

Le voy a dar un par de vueltas a ver si lo consigo!

Sin embargo, sigo opinando que si el código no es XHTML no funciona tu código.

Ej. este htm no lo analiza produce errores

Código HTML:
Ver original
  1.  
  2. <div class="aaaa">
  3.     <p><a href="22">aaaaaaaaaaaaaaa<p></a>
  4.     <p>bbbbbbbbbbbbb</p>
  5. </div>
  6.        
  7. <div class="bbbbbbbb">
  8.     <p>111111111</p>
  9.     <p>222222222222</p>
  10. </div>
  11.  
  12.  
  13. </body>
  14. </html>

Salida

Código:
Warning: DOMDocument::load() [function.DOMDocument-load]: Opening and ending tag mismatch: p line 5 and a in file:///C%3A/AppServ/www/00-laboratorio_test/secciones/HTML_parser/web2.htm, line: 5 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser\HTML_parser.php on line 4

Warning: DOMDocument::load() [function.DOMDocument-load]: Opening and ending tag mismatch: a line 5 and div in file:///C%3A/AppServ/www/00-laboratorio_test/secciones/HTML_parser/web2.htm, line: 7 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser\HTML_parser.php on line 4

Warning: DOMDocument::load() [function.DOMDocument-load]: Opening and ending tag mismatch: p line 5 and body in file:///C%3A/AppServ/www/00-laboratorio_test/secciones/HTML_parser/web2.htm, line: 15 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser\HTML_parser.php on line 4

Warning: DOMDocument::load() [function.DOMDocument-load]: Opening and ending tag mismatch: div line 4 and html in file:///C%3A/AppServ/www/00-laboratorio_test/secciones/HTML_parser/web2.htm, line: 16 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser\HTML_parser.php on line 4

Warning: DOMDocument::load() [function.DOMDocument-load]: Premature end of data in tag body line 2 in file:///C%3A/AppServ/www/00-laboratorio_test/secciones/HTML_parser/web2.htm, line: 16 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser\HTML_parser.php on line 4

Warning: DOMDocument::load() [function.DOMDocument-load]: Premature end of data in tag html line 1 in file:///C%3A/AppServ/www/00-laboratorio_test/secciones/HTML_parser/web2.htm, line: 16 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser\HTML_parser.php on line 4
En cambio, si estuviese bien formado si que lo analiza bien.

Código HTML:
Ver original
  1.  
  2. <div class="aaaa">
  3.     <p><a href="22">aaaaaaaaaaaaaaa</a></p>
  4.     <p>bbbbbbbbbbbbb</p>
  5. </div>
  6.        
  7. <div class="bbbbbbbb">
  8.     <p>111111111</p>
  9.     <p>222222222222</p>
  10. </div>
  11.  
  12.  
  13. </body>
  14. </html>

Salida
Código:
aaaaaaaaaaaaaaa bbbbbbbbbbbbb
111111111 222222222222
Gracias de antemano!

Última edición por neodani; 16/12/2009 a las 00:58