Foros del Web » Programando para Internet » PHP »

No consigo nada con preg_match_all...

Estas en el tema de No consigo nada con preg_match_all... en el foro de PHP en Foros del Web. Hola llevo un buen rato leyendo la documentacion del manual, ejemplos por internet, videos, etc... y no entiendo porque no me funciona.... Cuando copio un ...
  #1 (permalink)  
Antiguo 02/06/2016, 10:12
Avatar de dryant  
Fecha de Ingreso: agosto-2009
Ubicación: Malaga, Ceuta, España....
Mensajes: 281
Antigüedad: 12 años
Puntos: 10
No consigo nada con preg_match_all...

Hola llevo un buen rato leyendo la documentacion del manual, ejemplos por internet, videos, etc... y no entiendo porque no me funciona....

Cuando copio un texto de algun ejemplo perfectamente.... pero cuando lo hago con mi propio codigo no....
tengo un archivo html que me genera un programa y es simplemente una tabla de la cual quiero sacar de la segunda fila (y sucesivas) la 5 columna. (La primera fila son los encabezados)

El caso es que estoy intentandolo con preg_match_all con el siguiente codigo:
Código PHP:
<?php
    
        $html 
file_get_contents('file:///Volumes/2GB/logfiles/gps_log.htm');

        
$buscar='/<td>(.*?)<\/td>/';

        
var_dump(preg_match_all($buscar$hmtl$encontrados));
        
        
$encontrados=$encontrados[1];

        foreach(
$encontrados as $celda){

            echo 
$celda."<br>";

        }        
        
        
?>
y me lanza un bool(false), que según he leído en la documentación oficial es que ha habido un error....
Sin embargo en paginas como por ejemplo http://regexr.com/ con esa expresion regular me encuentra todas las celdas ....
Alguien podría decirme porque me está dando error??
__________________
Tecnología y tutoriales
  #2 (permalink)  
Antiguo 02/06/2016, 10:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 13 años, 3 meses
Puntos: 2534
Respuesta: No consigo nada con preg_match_all...

En primer lugar nos deberías usar file:// para leer archivos, eso sólo funciona con el navegador, sólo debes usar la ruta completa sin dicho prefijo.

Ahora, si existen saltos de linea en tu texto debes considerar eso agregando el modificador "s" al final de tu expresión, igual deberías verificar al 100% si el texto estático de dicha expresión realmente existe.

Por otro lado sería bueno que muestres un ejemplo del HTML que intentas analizar, sólo para entender qué es lo que tienes disponible.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 02/06/2016, 10:30
Avatar de dryant  
Fecha de Ingreso: agosto-2009
Ubicación: Malaga, Ceuta, España....
Mensajes: 281
Antigüedad: 12 años
Puntos: 10
Respuesta: No consigo nada con preg_match_all...

Hola pateketrueke, gracias por contestar.

Parte del html es este: El resto es mas de lo mismo:
Cita:
<html lang="es">
<head>
<meta charset="Windows-1252">
<meta http-equiv="refresh" content="10000;URL=index.php">
<title>Document</title>
</head>
<body>
<html>
<head><title>GPS LOG FILE</title></head>
<body>
<table BORDER>

<tr BGCOLOR="#FFCCCC">
<td>Station name</td><td>Subscriber</td><td>Date</td><td>UTC</td><td>Latitude</td><td>Longitude</td><td>Elevation</td><td>Satellites</td><td>NMEA message</td>
</tr>

<tr>
<td>pepe</td><td>VHF5400104</td><td>20/04/16</td><td>11h35'52"</td><td>35�54.2088' N</td><td>5�20.9986' W</td><td>n/a</td><td>n/a</td><td>$GPRMC,113552,A,3554.2088,N,00520.9986,W,0. 040,6.9,200416,2.6,W*75</td>
</tr>

<tr>
<td>pipi</td><td>VHF5400104</td><td>n/a</td><td>11h35'53"</td><td>35�54.2085' N</td><td>5�20.9988' W</td><td>79</td><td>7</td><td>$GPGGA,113553,3554.2086,N,00520.9988,W,1,07 ,1.40,79.3,M,47.4,M,0,0000*64</td>
</tr>

<tr>
<td>pipi</td><td>VHF5400104</td><td>20/04/16</td><td>12h15'16"</td><td>35�54.1988' N</td><td>5�21.0032' W</td><td>n/a</td><td>n/a</td><td>$GPRMC,121516,A,3554.1989,N,00521.0032,W,0. 069,356.7,200416,2.6,W*72</td>
</tr>

<tr>
<td>pipi</td><td>VHF5400104</td><td>n/a</td><td>12h15'17"</td><td>35�54.1986' N</td><td>5�21.0037' W</td><td>85</td><td>7</td><td>$GPGGA,121517,3554.1987,N,00521.0037,W,1,07 ,1.00,85.7,M,47.4,M,0,0000*68</td>
</tr>

<tr>
<td>pipi</td><td>VHF5400104</td><td>20/04/16</td><td>12h32'06"</td><td>35�54.2084' N</td><td>5�20.9953' W</td><td>n/a</td><td>n/a</td><td>$GPRMC,123206,A,3554.2084,N,00520.9954,W,0. 064,41.3,200416,2.6,W*4C</td>
</tr>

<tr>
<td>pipi</td><td>VHF5400104</td><td>n/a</td><td>12h32'06"</td><td>35�54.2084' N</td><td>5�20.9953' W</td><td>67</td><td>8</td><td>$GPGGA,123206,3554.2084,N,00520.9954,W,1,08 ,0.80,67.7,M,47.4,M,0,0000*6A</td>
</tr>

<tr>
<td>pipi</td><td>VHF5400104</td><td>20/04/16</td><td>12h32'07"</td><td>35�54.2088' N</td><td>5�20.9953' W</td><td>n/a</td><td>n/a</td><td>$GPRMC,123207,A,3554.2088,N,00520.9954,W,0. 045,58.4,200416,2.6,W*4D</td>
</tr>

<tr>
<td>pipi</td><td>VHF5400104</td><td>n/a</td><td>12h32'08"</td><td>35�54.2092' N</td><td>5�20.9953' W</td><td>67</td><td>7</td><td>$GPGGA,123208,3554.2092,N,00520.9954,W,1,07 ,1.40,67.2,M,47.4,M,0,0000*64</td>
</tr>
La misma expresion regular en la web de prueba de regexr.com me pilla bien todas las celdas con este html... sin embargo en el php no...

Saludos
__________________
Tecnología y tutoriales
  #4 (permalink)  
Antiguo 02/06/2016, 10:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 13 años, 3 meses
Puntos: 2534
Respuesta: No consigo nada con preg_match_all...

¿Ya revistaste que estés leyendo bien el archivo o no?

Lo digo porque acabo de copiar dicho HTML, y probar tu expresión: funciona excelente.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 02/06/2016, 14:03
Avatar de dryant  
Fecha de Ingreso: agosto-2009
Ubicación: Malaga, Ceuta, España....
Mensajes: 281
Antigüedad: 12 años
Puntos: 10
Respuesta: No consigo nada con preg_match_all...

Si si, el html lo lee. Lo he comprobado varias veces con echo $html y me muestra todo el archivo.
No entiendo porque no me funciona..... Tampoco es cosa de mi servidor local, porque he subido los archivos a mi servidor remoto y tampoco me funciona...
Que raro....
__________________
Tecnología y tutoriales

Etiquetas: html, nada, tabla
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:34.