str_replace

(PHP 4, PHP 5, PHP 7)

str_replaceReemplaza todas las apariciones del string buscado con el string de reemplazo

Descripción

str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) : mixed

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

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.

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

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.

Precaución

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