PHP str_replace(): Reemplazar cadenas y caracteres de un string

Con PHP str_replace() se pueden buscar y reemplazar cadenas y caracteres dentro de un string o array. Esta función de PHP es muy usada y se parece en su utilización a PHP preg_replace(), también se suele usar para crear URLs amigables,

La documentación oficial explica que:

PHP str_replace() reemplaza todas las apariciones del string buscado con el string de reemplazo

Otras funciones interesantes de PHP para el manejo de cadenas son las siguientes: implode(), explode(), trim(), strlen(), preg_match(), substr() , wordwrap() y  substr_count().

Sintaxis de PHP str_replace()

Vamos a ver la sintaxis de esta función:

str_replace ( $valor_a_buscar , $valor_de_reemplazo , $string , [$contador ] )

Y ahora explico los parámetros:

  • La función devuelve un string o array dependiendo si los parámetros usados son un array.
  • $valor_a_buscar (obligatorio): Es la cadena o caracter que queremos buscar dentro del string.
  • $valor_de_reemplazo (obligatorio): Es el valor de por el cual queremos sustituir la cadena o caracter buscado.
  • $string (obligatorio): Cadena en la que queremos hacer los reemplazos.
  • $contador (opcional): Si se pasa esta variable se le adjudicará el número de reemplazos realizados.

Ejemplo básico de PHP str_replace()

He realizado este primer ejemplo para ver el uso de esta función con los parámetros obligatorios:

$cadena = "Esta es la cadena de ejemplo para sustituir un caracter";
echo $cadena;
$resultado = str_replace("a", "A", $cadena);
echo "La cadena resultante es: " . $resultado;

$cadena2 = "Esta es la cadena de ejemplo para sustituir una cadena";
echo $cadena2;
$resultado2 = str_replace("cadena", "CADENA", $cadena2);
echo "La cadena resultante es: " . $resultado2;

Explico este primer ejemplo que lo he dividido en 2 partes:

  • En la primera sustitución sustituyo únicamente el caracter ‘a’ por ‘A’ y saco el resultado por pantalla.
  • En la segunda, sustituyo la cadena ‘cadena’ por ‘CADENA’.

De esta manera sencilla podemos sustituir un caracter o string dentro de otra cadena.

Ejemplo de PHP str_replace() mostrando el contador

En este otro ejemplo además de hacer la sustitución saco por pantalla el número de sustituciones:

$cadena = "Esta es la cadena de ejemplo para sustituir un caracter";
echo $cadena;
$resultado = str_replace("a", "A", $cadena, $contador);
echo "<br><br>La cadena resultante es: " . $resultado . " --> con " . $contador . " reemplazos";

$cadena2 = "Esta es la cadena de ejemplo para sustituir una cadena";
echo $cadena2;
$resultado2 = str_replace("cadena", "CADENA", $cadena2, $contador2);
echo "<br><br>La cadena resultante es: " . $resultado2 . " --> con " . $contador2 . " reemplazos";

Esta segunda demo es casi idéntica a la anterior, la diferencia radica en que sacamos por pantalla el número de reemplazos con los parámetros $contador y $contador2.

compartir
Publicado por
Aner Barrena