Foros del Web » Programando para Internet » PHP »

Urgente : Problema con preg_match_all

Estas en el tema de Urgente : Problema con preg_match_all en el foro de PHP en Foros del Web. Amigos: Tengo el siguiente codigo html: <html> <body> <div id=news-id-1877>Hola Mundo </div> <div id=news-id-1988><div align="center">Hola</div> Mundo</div> </body> </html> utilizo esto: preg_match_all("|(<div id='news-id-(.+)'>.+</div>)|mi", $m1, $qwe); y ...
  #1 (permalink)  
Antiguo 07/07/2010, 00:28
 
Fecha de Ingreso: marzo-2010
Mensajes: 19
Antigüedad: 14 años
Puntos: 0
Urgente : Problema con preg_match_all

Amigos:

Tengo el siguiente codigo html:
<html>
<body>
<div id=news-id-1877>Hola Mundo </div>
<div id=news-id-1988><div align="center">Hola</div> Mundo</div>
</body>
</html>

utilizo esto:

preg_match_all("|(<div id='news-id-(.+)'>.+</div>)|mi", $m1, $qwe);

y me devuelve:
1.<div id=news-id-1877>Hola Mundo </div>
2. <div id=news-id-1988><div align="center">Hola</div>

No entiendo que hacer para que el segundo resultado me salga con el cierre del div, es decir quiero que el segundo resultado sea:
<div id=news-id-1988><div align="center">Hola</div> Mundo</div>

pero se esta cortando y me lo hace en el primer cierre de div que vee </div>

Espero que me ayuden.. es urgente.

Saludos
  #2 (permalink)  
Antiguo 07/07/2010, 15:39
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: Urgente : Problema con preg_match_all

El problema es que .+ es demasiado general y por eso te lo engloba, deberias modificar la expresión regular.
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net
  #3 (permalink)  
Antiguo 07/07/2010, 18:36
 
Fecha de Ingreso: marzo-2010
Mensajes: 19
Antigüedad: 14 años
Puntos: 0
Respuesta: Urgente : Problema con preg_match_all

pero como?, de verdad si me ayudarian con esto seria genial
  #4 (permalink)  
Antiguo 07/07/2010, 18:55
Avatar de shakaran  
Fecha de Ingreso: agosto-2005
Ubicación: España - Ciudad Real
Mensajes: 374
Antigüedad: 18 años, 8 meses
Puntos: 7
Respuesta: Urgente : Problema con preg_match_all

En esta parte lo tienes mal:
>.+</div>

Dale un poco al coco ;)
__________________
Quijost Backend Engineer - www.quijost.com - Hosting rápido, eficiente y profesional
Blog: www.shakaran.net
  #5 (permalink)  
Antiguo 07/07/2010, 19:47
 
Fecha de Ingreso: marzo-2010
Mensajes: 19
Antigüedad: 14 años
Puntos: 0
Respuesta: Urgente : Problema con preg_match_all

utilizo esto:

preg_match_all("/<div [^>]*id=['\"]news-id-\\d+['\"](.*?)<\/div\>/Uis",

y encuentra el div del final :(

Etiquetas: html, preg_match_all
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 19:24.