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