Reemplazo automático de caracteres mediante array en php

Hasta ahora, he utilizado la función str_replace de php para reemplazar caracteres codificados, por su equivalente real:

$cadena="s r v";

$cadena=str_replace("s","seat",$cadena);

$cadena=str_replace("r","renault",$cadena);

$cadena=str_replace("v","volkswagen",$cadena);

Ahora con esas equivalencias en una tabla / array, quiero hacer lo mismo:

$equivalencias=array(

"s"=>"seat",

"r"=>"renault",

"v"=>"volkswagen");

Creo que se puede, pero es donde no sé cómo hacerlo: ¿Cómo utilizar dicho array para hacer lo que hacía antes con varias líneas? . Me refiero claro, ha hacerlo sin un bucle, sin un "for" ...

1 Respuesta

Respuesta

Puedes usar el siguiente código:

¿
<?php 
$marcas=array("seat","renault","volkswagen");
$rename=array("s","r","v");
$Renomabramiento=array_replace($a1,$a2);
print_r($a3);
?>

Puedes ver el funcionamiento en el siguiente enlace: http://ideone.com/Ekc0US

De igual forma puedes hacerlo con un arreglo, puedes leer el arreglo y hacer el reemplazo correspondiente.

Saludos, gracias por visitar: http://develoteca.com y por suscribirte en :https://www.youtube.com/user/dimit28, si tienes mas dudas con mucho gusto puedo seguir ayudarte.

Gracias.

Pero o no me he explicado o no has leido bien la "problemática", el tema era reemplazar la aparición de unos caracteres codificados por palabras enteras, por así decirlo, la respuesta correcta es:

$a1=array("seat","renault","volkswagen");
$a2=array("s","r","v");
$a3=str_replace($a2,$a1," s r v v s r ");
print_r($a3);

o para verlo más claramente sería:

$a1=array("seat","renault","volkswagen");
$a2=array("%s%","%r%","%v%");
$mensaje="el coche de la marca %s% es español, el de la marca %r% es francés y el de %v% es alemán, o eso dicen ellos";
$a3=str_replace($a2,$a1,$mensaje);
print_r($a3);

Ahora si.

Perfecto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas