str_replace
(PHP 4, PHP 5)
str_replace — Reemplaza todas las apariciones del string buscado con el string de reemplazo
Descripción
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().
Parámetros
Sisearch 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.
-
search -
El 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. -
subject -
El string o array sobre el que se busca y se sustituye, también conocido como el pajar.
Si
subjectes un array, entonces la búsqueda y reemplazo se realiza con cada entrada desubjecty el valor devuelto también es un array. -
count -
Si es pasado, con este se establece el número de reemplazos realizados.
Valores devueltos
Esta función devuelve un string o un array con los valores sustituidos.
Ejemplos
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;
?>
Notas
Nota: Esta función es segura binariamente.
Trampa del orden de reemplazo
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.
Ver también
- str_ireplace() - Versión insensible a mayúsculas y minúsculas de str_replace
- substr_replace() - Reemplaza el texto dentro de una porción de un string
- preg_replace() - Realiza una búsqueda y sustitución de una expresión regular
- strtr() - Convierte caracteres o reemplaza substrings