(PHP 4, PHP 5, PHP 7)
str_replace — Reemplaza todas las apariciones del string buscado con el string de reemplazo
Esta función devuelve un string o un array con todas las apariciones de
search en subject
reemplazadas con el valor dado de replace.
Si no se necesitan reglas complicadas de reemplazo (como expresiones regulares), se puede utilizar siempre esta función en lugar de preg_replace().
Si search y replace son
arrays, entonces str_replace() toma un valor de cada array
y lo utiliza para buscar y reemplazar en subject. Si
replace tiene menos valores que
search, entonces un string vacío es usado para el resto de
los valores de reemplazo. Si search es un array y
replace es un string, entonces este string de reemplazo es
usado para cada valor de search. Sin embargo, lo contrario
no tendría sentido.
Si search o replace
son arrays, sus elementos son procesados del primero al último.
searchEl valor a ser buscado, también conocida como la aguja. Un array puede ser utilizado para designar varias agujas.
replace
El valor de reemplazo que sustituye los valores encontrados de search.
Un array puede ser utilizado para designar reemplazos múltiples.
subjectEl string o array sobre el que se busca y se sustituye, también conocido como el pajar.
Si subject es un array, entonces la búsqueda y
reemplazo se realiza con cada entrada de
subject y el valor devuelto también es
un array.
countSi es pasado, con este se establece el número de reemplazos realizados.
Esta función devuelve un string o un array con los valores sustituidos.
Ejemplo #1 Ejemplos básicos de str_replace()
<?php
// Produce: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");
// Produce: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
// Produce: You should eat pizza, beer, and ice cream every day
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "beer", "ice cream");
$newphrase = str_replace($healthy, $yummy, $phrase);
// Produce: 2
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;
?>
Ejemplo #2 Ejemplos de trampas potenciales con str_replace()
<?php
// Orden del reemplazo
$str = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order = array("\r\n", "\n", "\r");
$replace = '<br />';
// Procesa primero \r\n así no es convertido dos veces.
$newstr = str_replace($order, $replace, $str);
// La salida es F debido a que A es reemplazada con B, entonces B es reemplazada con C, y así sucesivamente...
// Finalmente E se reemplaza con F, debido a los reemplazos de izquierda a derecha.
$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);
// La salida es: apearpearle pear
// Por la misma razón mencionada arriba
$letters = array('a', 'p');
$fruit = array('apple', 'pear');
$text = 'a p';
$output = str_replace($letters, $fruit, $text);
echo $output;
?>
Nota: Esta función es segura binariamente.
Debido a que str_replace() reemplaza de izquierda a derecha, podría sustituir a un valor previamente insertado al hacer sustituciones múltiples. Ver también los ejemplos de este documento.
Nota:
Esta función es sensible a mayúsculas y minúsculas. Utilice Use str_ireplace() para reemplazos insensibles a mayúsculas y minúsculas.