(PHP 4, PHP 5, PHP 7, PHP 8)
str_replace — Reemplaza todas las ocurrencias en una string
$search,$replace,$subject,&$count = null
str_replace() devuelve una string o un array,
donde todas las ocurrencias de search en
subject han sido reemplazadas por
replace.
Para reemplazar un texto en función de un patrón en lugar de una string fija, utilice preg_replace().
Si los argumentos search y replace
son arrays, entonces la función str_replace()
tomará un valor de cada array y los utilizará para la búsqueda y
el reemplazo en subject. Si el argumento
replace tiene menos valores que el argumento
search, entonces una string vacía será utilizada
como valor para el resto de los valores de reemplazo. Si el argumento
search es un array y el argumento
replace es una string, entonces esta string
de reemplazo será utilizada para cada valor de search.
Lo inverso no tiene sentido.
Si search o replace
son arrays, los elementos son procesados del primero al último.
searchEl valor a buscar, también conocido como patrón. Un array puede ser utilizado para designar múltiples patrones.
replaceEl valor de reemplazo a sustituir por los valores encontrados. Un array puede ser utilizado para designar múltiples valores de reemplazo.
subjectLa string o el array sobre el cual se realizará la búsqueda y el reemplazo, también conocido como pajar.
Si subject es un array, entonces el
reemplazo se realizará en cada elemento del mismo, y
el valor devuelto será también un array.
countSi se proporciona, esta variable contendrá el número de reemplazos realizados.
Esta función devuelve una string, o un array, conteniendo los valores reemplazados.
Ejemplo #1 Ejemplo 1 con str_replace()
<?php
// Genera: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");
echo $bodytag, PHP_EOL;
// Genera: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
echo $onlyconsonants, PHP_EOL;
// Genera: 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);
echo $newphrase, PHP_EOL;
// Genera: good goy miss moy
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count, PHP_EOL;
?>
Ejemplo #2 Ejemplo 2 con str_replace()
<?php
// Orden de los reemplazos
$str = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order = array("\r\n", "\n", "\r");
$replace = '<br />';
// Procesamiento del primer \r\n, no serán convertidos dos veces.
$newstr = str_replace($order, $replace, $str);
echo $newstr, PHP_EOL;
// Muestra F porque A es reemplazado por B, luego B es reemplazado por C, y así sucesivamente...
// Finalmente, E es reemplazado por F
$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject), PHP_EOL;
// Muestra: apearpearle pear
// Por las mismas razones que arriba
$letters = array('a', 'p');
$fruit = array('apple', 'pear');
$text = 'a p';
$output = str_replace($letters, $fruit, $text);
echo $output, PHP_EOL;
?>Nota: Esta función maneja strings binarios.
Debido a que la función str_replace() realiza los reemplazos de izquierda a derecha, puede reemplazar un valor previamente insertado durante múltiples reemplazos.
Nota:
Esta función es sensible a mayúsculas y minúsculas. Utilice la función str_ireplace() para un reemplazo insensible a mayúsculas y minúsculas.