Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/11/2014, 19:20
Malekith
 
Fecha de Ingreso: abril-2006
Mensajes: 105
Antigüedad: 18 años
Puntos: 11
Respuesta: Etiqueta dentro de otra en un string, usando expresión regular

Ya lo entendí , lo que significa que temp en un principio tiene el valor del texto, y luego el valor de temp cambia por el del texto anterior con cada interacción. Luego comprobamos si el texto que contenía la variable temporal coincide con el nuevo generado, y si es así, rompemos el bucle.

Lo hice así:

Código PHP:
$regex '/\[(\w+)\]([^[\]]+?)\[\/\\1\]/s';
     
// Procesamos las etiquetas iniciando un bucle que solo termina cuando no quedan etiquetas por procesar
     
while(1){
         
$tmp $resumen;
        
// procesamos los tags
        
$resumen preg_replace_callback($regex'procesar_tags'$tmp);
        if(
$tmp === $resumen){ 
            break; 
        }
    } 
Muchas gracias pateketrueke, de verdad , lo que me había confundido era que pusistes process($text);, cuando lo que necesitábamos procesar era process($tmp); , supongo que un descuido, y me tuvo un rato en jake

Un saludo