Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2014, 13:10
Avatar de roswell
roswell
 
Fecha de Ingreso: abril-2004
Ubicación: Buenos Aires
Mensajes: 80
Antigüedad: 20 años
Puntos: 0
Busqueda PHP html Dom - extraer info de html

Buenas,

Quería consultarles si pueden darme una mano con un codigo que estoy intentando hacer.

Estoy trabajando con un archivo html para extraer una información, y estoy trabado en una parte, tengo el siguiente código html que se repite varias veces.

Código HTML:
<tr class="linea e_4">
<td class="orden"><span>1</span></td>
<td class="escudo"><img src="http://www.forosdelweb.com/f18/escudos/4.gif" alt=""></td>
<td class="equipo"><span>Banfield</span></td>
<td class="puntos"><span>0</span></td>
<td class="puntos"><span>58</span></td>
<td class="puntos"><span>59</span></td>
[COLOR="Red"][B]<td class="puntos destacado"><span>117</span></td>[/B][/COLOR]
<td class="puntos"><span>69</span></td>
[COLOR="red"][B]<td class="puntos destacado"><span>1.696</span></td>[/B][/COLOR]
</tr> 
Estoy extrayendo el td class="equipo" y quiero extraer los dos td class="puntos destacado" pero deben ir en variables separadas para poder reutilizarlo luego.

Para ello uso la libreria html dom:

Código PHP:
// Include the library
include('simple_html_dom.php');
 
// Retrieve the DOM from a given URL
$html file_get_html('archivo.html');

// parse los bloques que comienzan con tr
$auxTotal explode('<tr class="linea e_',$html);
$cantidad sizeof($auxTotal);


for (
$i=1;$i<$cantidad;++$i){

  
// Guarda puntos
  
$arrayPuntos $html->find('tr.linea td.puntos destacado');

  
// Guarda Equipos
  
$arrayEquipos $html->find('tr.linea td[class=equipo]');

}

// Muestra los datos  
for ($i=0;$i<$cantidad ;++$i){ 
   echo 
$arrayEquipos[$i] . '<br>';
   echo 
$arrayPuntos[$i] . '<br>';
 } 
Al usar de esa manera el output es:

Cita:
Banfield
117
Def. y Justicia
1.696
Independiente
171
Instituto
1.598
Sarmiento
48
Si se fijan muetra el equipo, y luego la saltea entre una columna y otra.

Saludos.

Última edición por roswell; 05/04/2014 a las 13:16