Foros del Web » Programando para Internet » PHP »

Ayuda expresiones regulares plz!

Estas en el tema de Ayuda expresiones regulares plz! en el foro de PHP en Foros del Web. Hola lo que quiero hacer es fácil, pero no tengo idea de si se puede :) Miren esto, Código PHP: $expresion  =  "{nombre}" ; $nombre  ...
  #1 (permalink)  
Antiguo 10/12/2004, 19:21
Avatar de nitrouz  
Fecha de Ingreso: agosto-2003
Ubicación: Buenos Aires, Argentina
Mensajes: 78
Antigüedad: 14 años, 4 meses
Puntos: 0
Ayuda expresiones regulares plz!

Hola

lo que quiero hacer es fácil, pero no tengo idea de si se puede :)

Miren esto,

Código PHP:
$expresion "{nombre}";
$nombre "YA reemplazado";
$reemplaza ereg_replace("\{(.+)\}","\\1"$expresion); 
Lo que quiero hacer es, reemplazar por ejemplo una expresion así
{nombre} por la variable $nombre.
y si fuera {casa} por la variable $casa....

jaja, lo único que se me ocurre es poner el $ de variables al principio :P

Código PHP:
$reemplaza ereg_replace("\{(.+)\}",$."\\1"$expresion); 
Pero obviamente no funciona, se puede hacer estooo?
por favor que alguien me diga

desde ya muchas gracias a todos
__________________
Cristian Conedera
Mi Web: BothMedia.com, Diseño y Desarrollo
Mi Blog: nitrousBLOG*
  #2 (permalink)  
Antiguo 12/12/2004, 07:22
Avatar de nitrouz  
Fecha de Ingreso: agosto-2003
Ubicación: Buenos Aires, Argentina
Mensajes: 78
Antigüedad: 14 años, 4 meses
Puntos: 0
que pasa no hay nada? :( nadie sabe?
__________________
Cristian Conedera
Mi Web: BothMedia.com, Diseño y Desarrollo
Mi Blog: nitrousBLOG*
  #3 (permalink)  
Antiguo 12/12/2004, 07:57
 
Fecha de Ingreso: diciembre-2004
Mensajes: 51
Antigüedad: 13 años
Puntos: 0
Wenass, aqui te dejo una posible solucion, no se si sera la mas correcta o si es xactamente lo que pides, pero en fin almenos creo que te puede resolver la papeleta.

Código PHP:
$expresion "{nombre}"
$original= array("{""}");
$cambiado= array("$"""); 
$reemplaza str_replace($original,$cambiado$expresion); 
Bueno pues si lo que yo he entendido es lo que quieres hacer creo que te valdra este codigo convierte la cadena "{nombre}" en "$nombre" (en este caso puesto que la variable expresion vale eso.

En fin comentame que tal

Un salu2
  #4 (permalink)  
Antiguo 12/12/2004, 08:41
Avatar de nitrouz  
Fecha de Ingreso: agosto-2003
Ubicación: Buenos Aires, Argentina
Mensajes: 78
Antigüedad: 14 años, 4 meses
Puntos: 0
Pues sí, me has entendido mal
Lo que quiero hacer es reemplazar {nombre}
por la variable $nombre y así con cualquier cosa que este entre {}
o sea dice {papa} y se reemplaza por la variable $papa, pero! lo ideal sería que no tenga que escribir algo así...

Código PHP:
$reemplaza str_replace("{nombre}",$nombre$expresion); 
Es la gracia de las expresiones regulares :) pero no se como hacer que haga esoo :((

A ver quien me puede ayudar :(
__________________
Cristian Conedera
Mi Web: BothMedia.com, Diseño y Desarrollo
Mi Blog: nitrousBLOG*
  #5 (permalink)  
Antiguo 12/12/2004, 10:53
 
Fecha de Ingreso: diciembre-2004
Mensajes: 51
Antigüedad: 13 años
Puntos: 0
Ok, entonces siento no poder ayudarte, es que (pensaras que soy un poco corto) todavia no se que quieres hacer, en fin espero que alguien te pueda ayudar.

Un saludo.
  #6 (permalink)  
Antiguo 12/12/2004, 11:20
Avatar de nitrouz  
Fecha de Ingreso: agosto-2003
Ubicación: Buenos Aires, Argentina
Mensajes: 78
Antigüedad: 14 años, 4 meses
Puntos: 0
A ver un ejemplo mas simple y practico:

tengo las siguientes variables

Código PHP:
$nombre "Crisitan"
$apellido "Conedera"
y el siguiente texto
Código PHP:
$expresion "Hola {nombre}, {apellido} como estas?" 
normalmente tendría que hacer...

$reemplaza = str_replace("{nombre}",$nombre, $expresion);
$reemplaza = str_replace("{apellido}",$apellido, $expresion);


Pero, todos saben que el \\1 en expresiones regulares te devuelve el primer segmento, o sea... un ejemplo con el texto $expresion:
aplicandole la siguiente expresion regular

$reemplaza = ereg_replace("\{(.+)\}","Esto es \\1", $expresion);


va a reemplazar, todos los "{}" que tengan algo en el medio, por el valor que tengaen el meido por ejemplo si en la expresion esta escrito {nombre} va a reemplazarlo por "Esto es nombre" si dice {caca} va a reemplazarlo por "Esto es caca" y así...

Pero! si yo quiero reemplazar lo que esta entre {} por una variable que tenga el nombre de lo que esta entre {}...

O sea... Si tengo {caca} quiero reemplazarlo por la variable $caca

o sea \\1 en este caso es "caca" si fuere {edificio} \\1 sería "edificio"

lo que quiero hacer es llamar a la vaciable con el valor que tenga \\1 en esa instancia.

A ver si me explique
__________________
Cristian Conedera
Mi Web: BothMedia.com, Diseño y Desarrollo
Mi Blog: nitrousBLOG*

Última edición por nitrouz; 12/12/2004 a las 11:23
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 18:25.