Foros del Web » Programando para Internet » PHP »

Parsear html

Estas en el tema de Parsear html en el foro de PHP en Foros del Web. Hola, Estoy intenando parsear un html, que contiene datos muy estructurados del tipo: <div id="nombre">Paco</div> <div id="apellido">Martínez</div> Pero usando el preg_match_all: preg_match_all ("'<div class=\"nombre\">(.*?)</div>'si", $buffer, ...
  #1 (permalink)  
Antiguo 11/09/2005, 13:25
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 22 años, 5 meses
Puntos: 0
Parsear html

Hola,

Estoy intenando parsear un html, que contiene datos muy estructurados del tipo:
<div id="nombre">Paco</div>
<div id="apellido">Martínez</div>

Pero usando el preg_match_all: preg_match_all ("'<div class=\"nombre\">(.*?)</div>'si", $buffer, $nombre);

No me hace ni caso, cómo lo podría hacer?
  #2 (permalink)  
Antiguo 11/09/2005, 13:43
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 19 años, 9 meses
Puntos: 4
preg_match_all ('/<div class="nombre">(.*?)<\/div>/i', $buffer, $nombre);

me parece q esa es la forma correcta

pd: el "si" que estaba ahi no se que es...
  #3 (permalink)  
Antiguo 11/09/2005, 13:55
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 22 años, 5 meses
Puntos: 0
Pues tampoco me coge nada...
  #4 (permalink)  
Antiguo 11/09/2005, 15:24
 
Fecha de Ingreso: julio-2005
Mensajes: 13
Antigüedad: 18 años, 9 meses
Puntos: 0
en el ejemplo usas id
Cita:
<div id="nombre">Paco</div>
<div id="apellido">Martínez</div>
mientras que en la expresión regular utilizas class

Cita:
preg_match_all ("'<div class=\"nombre\">(.*?)</div>'si", $buffer, $nombre);
revisa si era eso... yo probé con

Código PHP:
<?php
$texto 
"<div id=\"nombre\">Paco</div><div id=\"apellido\">Martínez</div>";
preg_match_all ("/<div id=\"nombre\">(.*?)<\/div>/i"$texto$coincidencias);
print 
$coincidencias[1][0];
?>
y $coincidencias[1][0] contenía "Paco" efectivamente

Saludos.
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 10:32.