(PHP 4, PHP 5)
str_replace — Sustitiye todas las apariciones de una cadena en otra
Esta función sustituye todas las apariciones de la cadena_buscada en la cadena cadena_original por la cadena_sustituta dada. Si no precisa reglas especiales de sustitución (como por ejemplo expresiones regulares), deberá usar siempre esta función en lugar de ereg_replace() o preg_replace().
Desde la versión de PHP 4.0.5, todos los parámetros de la función pueden ser de tipo array.
En las versiones de PHP anteriores a la 4.3.3, existí un error cuando se empleaban matrices como parámetros cadena_buscada y cadena_sustituta que hacía que no se tuvieran en cuenta los índices vacíos de cadena_buscada y por tanto no se avanzara en la matriz de forma sincronizada con la otra matriz cadena_sustituta . Los scripts que estaban preparados para tratar este error, deben eliminar los valores vacíos de cadena_buscada antes de llamar a esta función para mantener el comportamiento original de la función.
Si cadena_original es una matriz, la búsqueda y sustitución se realiza en cada una de las entradas de cadena_original y por tanto, el valor devuelto también es una matriz.
Si cadena_buscada y cadena_sustituta son matrices, la función str_replace() selecciona cada vez un valor de ambas matrices y realiza la búsqueda/sustitución. Si cadena_buscada tiene menos elementos que cadena_sustituta , se emplea una cadena vacía para realizar el resto de sustituciones. Si cadena_buscada es una matriz y cadena_sustituta es una cadena, se emplea esta cadena para realizar la sustición de todos los valores de cadena_buscada .
Example#1 Ejemplo de str_replace()
<?php
// Obtiene: <body text='black'>
$etiqueta_body = str_replace("%body%", "black", "<body text='%body%'>");
// Obtiene: Hl Mnd d PHP
$vocales = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$solo_consonantes = str_replace($vocales, "", "Hola Mundo de PHP");
// Obtiene: Debes comer pizza, cerveza y helados todos los dias
$frase_original = "Debes comer frutas, verduras y fibra todos los dias";
$sano = array("frutas", "verduras", "fibra");
$sabroso = array("pizza", "cerveza", "helados");
$nueva_frase = str_replace($sano, $sabroso, $frase_original);
// El parametro "veces" esta disponible desde la version de PHP 5.0.0
$cadena = str_replace("ll", "", "yo llevaba la llave", $numero_veces);
echo $numero_veces; // El valor de $numero_veces es: 2
?>
Note: Esta función es segura binariamente.
Note: Desde la versión de PHP 5.0.0 el número de cadenas encontradas y sustituidas se devuelve en el parámetro veces , que se pasa por referencia. En las versiones anteriores a PHP 5.0.0, este parámetro no está disponible.
Vea también str_ireplace(), substr_replace(), ereg_replace(), preg_replace() y strtr().