Forum und email

str_replace

(PHP 4, PHP 5)

str_replace — Sustitiye todas las apariciones de una cadena en otra

Descripción

mixed str_replace ( mixed $cadena_buscada , mixed $cadena_sustituta , mixed $cadena_original [, int &$veces ] )

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.

Warning

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().