Foros del Web » Programando para Internet » PHP »

uso de preg_replace

Estas en el tema de uso de preg_replace en el foro de PHP en Foros del Web. Intento reemplazar un código , pero el problema es que hay códigos parecidos por lo cual me toma el primer valor , @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 03/09/2012, 15:38
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
uso de preg_replace

Intento reemplazar un código , pero el problema es que hay códigos parecidos por lo cual me toma el primer valor ,

Código PHP:
Ver original
  1. <?php
  2.  
  3. $patrones = array();
  4. $patrones[0] = '/TAM/';
  5. $patrones[1] = '/TAMM/';
  6. $patrones[2] = '/TAMP/';
  7.  
  8. $sustituciones = array();
  9.  
  10. $sustituciones[0] = 'MAT'; //me lee solo este donde son parecidas y no me imprime los otros valores
  11. $sustituciones[1] = 'TAM MEDIANA';     
  12. $sustituciones[2] = 'TAM PEQUEÑA';
  13.  
  14. echo preg_replace($patrones, $sustituciones, $plataforma)

Saludos espero se haya entendido mi problema.
  #2 (permalink)  
Antiguo 03/09/2012, 19:06
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: uso de preg_replace

Tienes un error de diseño/lógica, porque los patrones no deben formar parte de las sustituciones, porque TAM va a ser reemplazado para 'TAM MEDIANA' y 'TAM PEQUEÑA'.

Por otra parte, no creo necesario el uso de preg_replace() si con str_replace() puedes lograrlo.

Suponiendo que los reemplazos no contengan alguna cadena del patrón, invirtiendo el orden de los elementos puede funcionar.

Código PHP:
Ver original
  1. $patrones = array('TAMP', 'TAMM', 'TAM');
  2. $reemplazos = array('PEQUEÑA', 'MEDIANA', 'OTRA?');
  3.  
  4. echo str_replace($patrones, $reemplazos, $plataforma);
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 04/09/2012, 08:20
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: uso de preg_replace

Muchas Gracias Triby por la aclaración funciono perfecto.

Saludos
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 05:53.