Foros del Web » Programando para Internet » PHP »

reemplazar usando patrones

Estas en el tema de reemplazar usando patrones en el foro de PHP en Foros del Web. hola gente como estan? bueno hace dias que estoy buscando como logar usando patrones cambiar un string. bueno les cuento la cadena seria de esta ...
  #1 (permalink)  
Antiguo 11/08/2005, 11:29
 
Fecha de Ingreso: junio-2004
Mensajes: 157
Antigüedad: 13 años, 5 meses
Puntos: 1
reemplazar usando patrones

hola gente como estan?
bueno hace dias que estoy buscando como logar usando patrones cambiar un string.

bueno les cuento la cadena seria de esta forma:

$strin="cadena en la que [CODIGO]alfa[/CODIGO] hay muchos [CODIGO]alfa[/CODIGO] estos se pueden repetir [CODIGO]beta[/CODIGO] y los quiero cambiar"

en esta hay 1 patron: [CODIGO][/CODIGO]
los codigo pueden repetirse

lo que hago es pasar los codigos a un array:
$totcods=preg_match_all("'\[CODIGO\](.*?)\[/CODIGO\]'i", $strin, $arr_codigo);

me queda el $arr_codigo con dos arrays [0] incluye los patrones y el [1] solo tiene los codigos alfa, alfa y beta

bueno paso estos a un form y alli los cambio por los valores que quiera.

mi intencion es una vez cambiados los codigos usando patrones poner en el string $strin los nuevos codigos usando el array $new_codigo en donde tengo los nuevos codigos

quiero hacerlos usando preg_replace pero no puedo
por ej:
$strin=preg_replace("'\[CODIGO\](.*?)\[/CODIGO\]'i",$new_codigo,$strin);

alguien me da una mano

gracias saludos
Javier

Última edición por jadi; 11/08/2005 a las 11:47
  #2 (permalink)  
Antiguo 11/08/2005, 18:05
 
Fecha de Ingreso: junio-2004
Mensajes: 157
Antigüedad: 13 años, 5 meses
Puntos: 1
nadie me puede dar una manillo plisss
  #3 (permalink)  
Antiguo 11/08/2005, 18:23
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 14 años, 7 meses
Puntos: 35
loading..........


tu $new_codigo que tiene?

Código PHP:
$strin=preg_replace("'\[CODIGO\](.*?)\[/CODIGO\]'i","<algo>\\1</algo>",$strin); 

connection closed.
__________________

Maborak Technologies
  #4 (permalink)  
Antiguo 11/08/2005, 18:44
 
Fecha de Ingreso: junio-2004
Mensajes: 157
Antigüedad: 13 años, 5 meses
Puntos: 1
bueno $new_codigo tiene un array con los nuevos codigo que tienen que ser colocados correlativamente

$new_codigo[0]="nuevo alfa";
$new_codigo[1]="nuevo beta";
$new_codigo[2]="nuevo landa";
y el strin tendria que quedar asi:
$strin="cadena en la que [CODIGO]nuevo alfa[/CODIGO] hay muchos [CODIGO]nuevo beta[/CODIGO] estos se pueden repetir [CODIGO]nuevo landa[/CODIGO] y los quiero cambiar"

gracias por responder

saludos
javier

Última edición por jadi; 11/08/2005 a las 18:51
  #5 (permalink)  
Antiguo 12/08/2005, 10:30
 
Fecha de Ingreso: junio-2004
Mensajes: 157
Antigüedad: 13 años, 5 meses
Puntos: 1
les cuento que con str_replace no puedo reemplazar ya que:

si tengo en el string los siguientes codigo correlativos

viejos codigos
1 [CODIGO]alfa[/CODIGO]
2 [CODIGO]beta[/CODIGO]
3 [CODIGO]beta[/CODIGO]
4 [CODIGO]landa[/CODIGO]

nuevos codigos
1 [CODIGO]nuevo alfa[/CODIGO]
2 [CODIGO]nuevo beta[/CODIGO]
3 [CODIGO]nuevo landa[/CODIGO]
4 [CODIGO]nuevo omega[/CODIGO]

si uso str_replace o preg_replace que me reemplazan todas las apariciones
me queda lo siguiente
1 [CODIGO]nuevo alfa[/CODIGO]
2 [CODIGO]nuevo beta[/CODIGO]
3 [CODIGO]nuevo beta[/CODIGO]
4 [CODIGO]nuevo landa[/CODIGO]
con lo cual queda mal.
necesito reemplazar en forma correlativa

alguien me tira una idea por favor
saludos
Javier
  #6 (permalink)  
Antiguo 12/08/2005, 16:34
 
Fecha de Ingreso: junio-2004
Mensajes: 157
Antigüedad: 13 años, 5 meses
Puntos: 1
bueno gracias gente ya lo he solucionado con preg_split el cual te devuelve un array con los elementos sin el patron

saludos y gracias
Javier
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 20:27.