Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/01/2006, 08:50
Avatar de ArrauKano
ArrauKano
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 5 meses
Puntos: 4
Busqueda expresion regular PCRE recursiva

hola, mi pregunta al parecer es bastante complicada, espero que alguien haya tenido algo de experiencia.
El asunto es el siguiente, tengo una clase que se encarga de cargar texto (desde archivos, bases de datos o cualquir fuente de strings), de modo que aquel texto es tratado como una plantilla html. En la plantilla hay ciertos textos entre corchetes que representan variables, por ejemplo el titulo del sitio, y tambien tengo definidas ciertas areas como bloques, que los reemplazo por si mismos con las variables cambiadas (por ejemplo, en la cabecera y el pie de la pagina) o los reemplazo por si mismos varias veces (por ejemplo para generar menus).

todo funciona bien hasta que me surgió otra necesidad, ahora lo que quiero es anidar n-bloques dentro de la plantilla, de modo que si un bloque tiene algun sub-bloque, entonces poder reemplazarlo por sus variables cambiadas y/o reemplazarlo por si mismo n-veces.

entonces mi consulta en concreto es: ¿como hago la expresion regular para poder identificar bloques en forma recursiva?

un ejemplo pequeño del texto puede ser +o-:
Código:
<bloque name="primerbloque">
   texto vario.....
   {una_var_de_primer_bloque}
   más texto....
   <bloque name="bloqueanidado">
   {var_de_bloqueanidado}
   </bloque>
</bloque>