Foros del Web » Programando para Internet » PHP »

Leer datos de una tabla de un html

Estas en el tema de Leer datos de una tabla de un html en el foro de PHP en Foros del Web. Pues eso mismo queria leer los datos de una tabla de una pagina html, pero llevo muy mal el tema de expresiones regulares haver si ...
  #1 (permalink)  
Antiguo 20/08/2009, 03:40
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
Leer datos de una tabla de un html

Pues eso mismo queria leer los datos de una tabla de una pagina html, pero llevo muy mal el tema de expresiones regulares haver si alguien me puede echar una mano el codigo en html que quiero leer tiene la siguiente estructura:
Cita:
<tr>
<td align="left">DATO 1.1</td>
<td align="left">
DATO 1.2
</td>
<td align="center">DATO 1.3</td>

<td align="left">DATO 1.4</td>
</tr>

<tr>
<td align="left">DATO 2.1</td>
<td align="left">
DATO 2.2
</td>
<td align="center">DATO 2.3</td>

<td align="left">DATO 2.4</td>
</tr>
sin limite de numeros de filas... como podria leer esos datos en php? para leer el codigo html lo hago con la función file_get_contents($url);


se que hay muchos post al respecto y he buscado en google pero no encuentro nada que realmente explique esto, creo que no estaria mal ademas hacerlo y meterlo en el faqs
  #2 (permalink)  
Antiguo 20/08/2009, 03:57
 
Fecha de Ingreso: enero-2008
Mensajes: 43
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Leer datos de una tabla de un html

No soy experto pero creo que es algo asi para la primera, espero que te ayude.
No se cual sera el comodin para quitarle el left creo que es un punto(.) pero fijate
Cita:
$exp_info = "<meta align=\"left\" >(.+)<\/td>";
preg_match_all($exp_info,$query,$salida);

$dato1 = $salida[1][0];
  #3 (permalink)  
Antiguo 20/08/2009, 04:20
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
Respuesta: Leer datos de una tabla de un html

usando este codigo:
Código PHP:
$url=url;

$ranking file_get_contents($url); //obtenemos el listado de gente online

$exp_info "<meta align=\"left\"> (.+)<\/td>";
preg_match_all($exp_info,$ranking,$salida);

for ( 
$i $i <= 20 $i++){
    for ( 
$j $j 20 $j++){
            echo 
$salida[$i][$j]."->[".$i."][".$j."]<br>";
    }

me salta lo siguiente en pantalla:
Cita:
Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '(' in /home/anamdetr/public_html/ragnarok/leer_whois.php on line 14
->[1][0]
->[1][1]
->[1][2]
->[1][3]
->[1][4]
->[1][5]
->[1][6]
->[1][7]
->[1][8]
->[1][9]
->[1][10]
->[1][11]
->[1][12]
->[1][13]
->[1][14]
->[1][15]
->[1][16]
->[1][17]
->[1][18]
->[1][19]
->[2][0]
->[2][1]
->[2][2]
->[2][3]
->[2][4]
->[2][5]
y un largo etc siempre con la variable en blanco, supongo que es la expresion regular que esta mal, he hecho un "echo" de $ranking y me saca el codigo html correctamente

Última edición por TCL_ZIP; 20/08/2009 a las 08:28
  #4 (permalink)  
Antiguo 20/08/2009, 04:37
 
Fecha de Ingreso: enero-2008
Mensajes: 43
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Leer datos de una tabla de un html

fijate ponerle una \ antes del ultimo >
creo que cree que es una expresión regular,
Hacelo mas simple antes de usar el bucle fijate que te lea lo que queres.
  #5 (permalink)  
Antiguo 20/08/2009, 04:41
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
Respuesta: Leer datos de una tabla de un html

uso precisamente el bucle para imprimir por pantalla todo lo que pille, asi me aseguro que no me coje la primera en blanco

lo acabo de provar y sigue sin funcionar :S
  #6 (permalink)  
Antiguo 20/08/2009, 04:55
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
Respuesta: Leer datos de una tabla de un html

asssssssssssssss

Última edición por TCL_ZIP; 20/08/2009 a las 08:28
  #7 (permalink)  
Antiguo 20/08/2009, 05:09
Avatar de TCL_ZIP  
Fecha de Ingreso: noviembre-2003
Ubicación: Esporles, Mallorca, España
Mensajes: 690
Antigüedad: 20 años, 5 meses
Puntos: 4
Respuesta: Leer datos de una tabla de un html

muchisimas gracias por todo, ya lo solucioné, aqui teneis el codigo final por si a alguien le interesa:
Cita:
$url="url";

$ranking = file_get_contents($url); //obtenemos el listado de gente online


$exp_info = '/<td align="[^"]+">([^<]*)<\/td>/';
preg_match_all($exp_info,$ranking,$salida);

for ( $i = 0 ; $i <= 20 ; $i++){
for ( $j = 0 ; $j < 20 ; $j++){
echo $salida[$i][$j]."->[".$i."][".$j."]<br>";
}
}

Última edición por TCL_ZIP; 20/08/2009 a las 08:27
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:23.