Como reemplazar fragmentos de cadenas en PHP

Para poder sustituir un trozo de una cadena por otro en PHP tenemos la función str_replace(fragmento_a_reemplazar, fragmento_de_reemplazo, cadena); que nos devuelve la cadena original con la cadena a reemplazar sustituida por la cadena de reemplazo.

Un ejemplo sencillo del uso de esta función podría ser realizar traducciones sencillas como en el ejemplo siguiente.


Sfecha = "Mon, 09 Jun 2014 10:00 am";

$dias = array("Lunes","Martes","Miercoles","Jueves","Viernes","Sabado","Domingo");
$meses = array("Enero","Febrero","Marzo","Abril","Mayo","Junio","julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");

$fecha = str_replace("Mon" , $dias[0] , $fecha);
$fecha = str_replace("Tue" , $dias[1] , $fecha);
$fecha = str_replace("Wed" , $dias[2] , $fecha);
$fecha = str_replace("Thu" , $dias[3] , $fecha);
$fecha = str_replace("Fri" , $dias[4] , $fecha);
$fecha = str_replace("Sat" , $dias[5] , $fecha);
$fecha = str_replace("Sun" , $dias[6] , $fecha);

$fecha = str_replace("Jan" , $meses[0] , $fecha);
$fecha = str_replace("Feb" , $meses[1] , $fecha);
$fecha = str_replace("Mar" , $meses[2] , $fecha);
$fecha = str_replace("Apr" , $meses[3] , $fecha);
$fecha = str_replace("May" , $meses[4] , $fecha);
$fecha = str_replace("Jun" , $meses[5] , $fecha);
$fecha = str_replace("Jul" , $meses[6] , $fecha);
$fecha = str_replace("Aug" , $meses[7] , $fecha);
$fecha = str_replace("Sep" , $meses[8] , $fecha);
$fecha = str_replace("Oct" , $meses[9] , $fecha);
$fecha = str_replace("Nov" , $meses[10] , $fecha);
$fecha = str_replace("Dec" , $meses[11] , $fecha);

echo $fecha; 
// Resultado:  Lunes, 09 Junio 2014 10:00 am

Y así de sencillo puede ser traducir una fecha usando str_replace puesto que aunque esta función solo nos permite sustituir una única cadena no hay nada que nos impida usar la función tantas veces como necesitemos.

Si quieres descargarte este código puedes hacerlo desde aquí.

3 Comments

  1. DELFINA 23 junio, 2014 Reply
  2. TARCICIO 25 junio, 2014 Reply
  3. PEDRO 28 junio, 2014 Reply

Leave a Reply