Foros del Web » Programando para Internet » PHP »

Problema con expresiones regulares y divs

Estas en el tema de Problema con expresiones regulares y divs en el foro de PHP en Foros del Web. buenas gente, les paso a comentar mi problema, tengo una funcion con expresiones regulares que necesito que me seleccione todo lo de adentro de un ...
  #1 (permalink)  
Antiguo 14/09/2010, 09:19
 
Fecha de Ingreso: junio-2007
Mensajes: 7
Antigüedad: 16 años, 10 meses
Puntos: 0
Problema con expresiones regulares y divs

buenas gente,

les paso a comentar mi problema, tengo una funcion con expresiones regulares que necesito que me seleccione todo lo de adentro de un div, la funcion es esta:

Código PHP:
preg_match_all('/<div class=\"contenedor\"\>(.*?)\<\/div\>/si',$contenido); 
si el div tiene solo texto anda perfecto, el tema pasa cuando tengo un div dentro del div contenedor, me selecciona todo hasta donde termina el div que esta contenido y no todo lo que esta dentro de contenedor. No se mucho de expresiones regulares asi que necesito de su ayuda =)
  #2 (permalink)  
Antiguo 14/09/2010, 11:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con expresiones regulares y divs

te invito a leer lo siguiente:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/09/2010, 08:13
 
Fecha de Ingreso: junio-2007
Mensajes: 7
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Problema con expresiones regulares y divs

Gracias pateketrueke, lo he leido pero aun asi no lo puedo hacer andar, sigo sin poder seleccionar solo a contenedor obviando los div de adentro.

Voy a seguir tratando y espero que alguien me pueda a ayudar =)

Saludos
  #4 (permalink)  
Antiguo 15/09/2010, 08:30
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 11 meses
Puntos: 79
Respuesta: Problema con expresiones regulares y divs

hola nomegaste, primero cual es tu idea de obtener el contenido del div, puede haber otra variable.

ahora si quieres eso ocupa javascript con innerHTML

salu2
  #5 (permalink)  
Antiguo 15/09/2010, 08:31
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Problema con expresiones regulares y divs

podrias usar librerias DOM de php .. encuentro que seria una mejor opcion para lo que necesitas
www.php.net/DOM
__________________
More about me...
~ @rhyudek1
~ Github
  #6 (permalink)  
Antiguo 15/09/2010, 13:00
 
Fecha de Ingreso: junio-2007
Mensajes: 7
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Problema con expresiones regulares y divs

Estimados:

Lo que deseo es sacar de una base de datos donde tengo guardado en un campo un div con nombre contenedor un monton de info, son muchos campos y lo que quiero es obtener todo lo de adentro para hacer unos cambios antes de mostrarlo en pantalla por eso no lo puedo hacer con javascript. O sea todos mis campos tienen algo asi

Código HTML:
<div id="contenedor">Aca va todo lo que necesito seleccionar</div> 
Y el problema es que no puedo hacer coincidir el div de entrada con el div de salida del mismo nodo si tengo en el contenido otro div

Saludos y gracias por la paciencia =)
  #7 (permalink)  
Antiguo 15/09/2010, 13:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con expresiones regulares y divs

y que tal si agregas el modificador U a la expresión?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 15/09/2010, 13:44
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 11 meses
Puntos: 79
Respuesta: Problema con expresiones regulares y divs

y si ocupas una sesion para guardar el contenido que te interesa


Código PHP:
session_start();
$Aca_va_todo_lo_ que_necesito_seleccionar=$_SESSION["guardar_contenido"]=[recibido no se como];
<
div id="contenedor">$Aca_va_todo_lo_ que_necesito_seleccionar</div
Nota: [recibido no se como] puede ser una consulta POST, GET, etc...
  #9 (permalink)  
Antiguo 16/09/2010, 14:37
 
Fecha de Ingreso: junio-2007
Mensajes: 7
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Problema con expresiones regulares y divs

Estimado pateketrueke, como seria lo de agregar U a mi expresion? no entiendo esa parte.

Saludos =)
  #10 (permalink)  
Antiguo 17/09/2010, 16:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con expresiones regulares y divs

Cita:
Iniciado por nimegaste Ver Mensaje
Estimado pateketrueke, como seria lo de agregar U a mi expresion? no entiendo esa parte.

Saludos =)
te invito leer lo siguiente:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/

algo así...
Cita:
/expresion/U
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 20/09/2010, 13:26
 
Fecha de Ingreso: junio-2007
Mensajes: 7
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Problema con expresiones regulares y divs

Parece que no me llevo muy bien con las expresiones regulares, el tema es que tengo un amigo que hizo su pagina toda con dreamweaver hace un par de años y el muchacho no se le ocurrio mejor idea que hacer todo con html y divs y tablas y el contenido lo guardo en ese div con ese formato, pero en el contenido que ponia adentro tambien agrego div's, o sea que tuve que recorrer uno por uno los html y guardarlo en base de datos completo, el tema es que yo para sacar el contenido tengo ese div ya armado, es posible seleccionar el principio y el fin de ese div salteando todo los div que contenga en el medio, perdonen mi ignorancia

Saludos!

Etiquetas: expresiones, regulares
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 22:50.