Expresion Regular en una cadena
Roberto Bonvallet
rbonvall en alumnos.inf.utfsm.cl
Mar Ene 3 14:25:53 CLST 2006
Jose Felipe Sanhueza Paredes escribio:
> Cual es mi problema:
> me llega un textarea a traves de un formulario de esta forma:
> hola a todos, aqui les dejo [mis fotos], espero q las disfruten. fui a esta
> [cabaña].
> debo hacer algo similar al lenguaje wiki, es decir, donde aparezcan los
> corchetes, modificarlo antes de grabarlo por algo como [fotos.php?item=mis
> fotos|mis fotos].
En Perl:
$text = "aqui [fotos], fui a la [cabana]";
$text =~ s!\[(.*?)\]!<a href="algo?pagina=\1">\1</a>!g;
print $text;
La expresion regular es \[(.*?)\]. Los \[ \] calzan los corchetes, .*?
significa "cualquier cosa entre los corchetes, pero calzando lo menos
posible" y los parentesis permiten guardar en \1 el texto calzado para
su uso posterior.
HTH, saludos.
--
Roberto Bonvallet
Más información sobre la lista de distribución Linux