Cita:
Iniciado por jackson666
Podria usar la clase DOMDocument para manipular el HTML. Buscala en php.net
Con DOMDocument lo estaba intentando pero no consigo que funcione, me peta por todos lados.
CODIGO
Código PHP:
Ver original<?php
$html = '
<html>
<body>
<div class="contenedor">
<div class="otro_contenedor>
<div class="aaaa">
<p>aaaaaaaaaaaaaaa</p>
</div>
<div class="bbbb">
<p>bbbbbbbbbbbbb</p>
</div>
<div class="miniTabsContent">
<div class="polltop1"><h3>Encuesta</h3></div>
<div class="pollmiddle">
<img src="#" alt="" title="" width="68" height="68">
<p class="date">13.12.2009</p>
<p class="pollQuestion">¿Pregunta encuesta?</p>
<form action="votarencuesta" method="post" name="votacionForm" id="a3poll" onsubmit="javascript:{if ( hasCookie("haVotado") ) {alert("Tu voto ya ha sido registrado"); return false; } else {return validateVotacionForm(this)};}">
<input name="encuesta" value="9287452" type="hidden">
<input name="contenido" value="0" type="hidden">
<label for="question1">
<input name="respuesta" value="9287451" id="question1" type="radio">No
</label>
<label for="question2">
<input name="respuesta" value="9287450" id="question2" type="radio">Sí
</label>
<div><input value="VOTAR" type="submit"><a href="#" class="normaLink">Ver resultados</a></div>
</form>
</div>
<div class="pollbot1"></div>
</div>
</div> <!-- fin otro_contenedor -->
</div> <!-- fin contenedor -->
</body>
</html>
';
/*** a new dom object ***/
$dom = new domDocument;
/*** load the html into the object ***/
$dom->loadHTML($html);
/*** discard white space ***/
$dom->preserveWhiteSpace = false;
$encuesta = $dom->getElementsByTagName('miniTabsContent');
echo $encuesta->item(0);
$rows = $encuesta->item(0)->getElementsByTagName('div');
?>
ERRORES
Código:
Warning: DOMDocument::loadHTML() [function.DOMDocument-loadHTML]: error parsing attribute name in Entity, line: 6 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser.php on line 47
Warning: DOMDocument::loadHTML() [function.DOMDocument-loadHTML]: error parsing attribute name in Entity, line: 19 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser.php on line 47
Warning: DOMDocument::loadHTML() [function.DOMDocument-loadHTML]: error parsing attribute name in Entity, line: 19 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser.php on line 47
Warning: DOMDocument::loadHTML() [function.DOMDocument-loadHTML]: error parsing attribute name in Entity, line: 19 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser.php on line 47
Warning: DOMDocument::loadHTML() [function.DOMDocument-loadHTML]: error parsing attribute name in Entity, line: 19 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser.php on line 47
Warning: DOMDocument::loadHTML() [function.DOMDocument-loadHTML]: error parsing attribute name in Entity, line: 19 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser.php on line 47
Warning: DOMDocument::loadHTML() [function.DOMDocument-loadHTML]: error parsing attribute name in Entity, line: 19 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser.php on line 47
Warning: DOMDocument::loadHTML() [function.DOMDocument-loadHTML]: error parsing attribute name in Entity, line: 19 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser.php on line 47
Warning: DOMDocument::loadHTML() [function.DOMDocument-loadHTML]: error parsing attribute name in Entity, line: 19 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser.php on line 47
Warning: DOMDocument::loadHTML() [function.DOMDocument-loadHTML]: Unexpected end tag : div in Entity, line: 35 in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser.php on line 47
Fatal error: Call to a member function getElementsByTagName() on a non-object in C:\AppServ\www\00-laboratorio_test\secciones\HTML_parser.php on line 57
Gracias de antemano!