str_replace

(PHP 3>= 3.0.6, PHP 4 , PHP 5)

str_replace --  Substitui todas as ocorrências da string de procura com a string de substituição

Descrição

mixed str_replace ( mixed pesquisa, mixed substitui, mixed assunto [, int &count] )

Esta função retorna uma string ou um array com todas as ocorrências de pesquisa em assunto substituidas com a o valor dado para substitui. Se você não precisa de regras de substituição especiais, você sempre poderia usar esta função ao invés de ereg_replace() ou preg_replace().

Como do PHP 4.0.5, cada parâmetro em str_replace() pode ser um array.

Atenção

Em versões do PHP anteriores à 4.3.3 existia um bug ao se usar arrays em ambos os parâmetros pesquisa e substitui que causava índices de pesquisa vazios para serem pulados sem avançar o apontador interno no array substitui. Isto foi corrigido no PHP 4.3.3, quaisquer scripts que contavam com este bug removeriam valores de pesquisa vazios anteriores à chamada desta função afim de imitar o comportamento original.

Se assunto é um array, então a pesquisa e a substituição é executada com cada entrada do assunto, e o valor de retorno é um array também.

Se pesquisa e substitui são arrays, então str_replace() pega o valor de cada array e os usa para fazer a pesquisa e a substituição em subject. Se substitui tem menos valores do que pesquisa, então um string vazia é usada para o restante dos valores de substituição. Se pesquisa é um array e substitui é uma string; então esta string de substituição é usada para cada valor de pesquisa.

Exemplo 1. str_replace() exemplos

<?php
// Fornece: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");

// Fornece: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

// Fornece: você comeria pizza, cerveja e sorvete todos os dias
$frase  = "você comeria frutas, vegetais, e fibra todos os dias.";
$saldavel = array("frutas", "vegetais", "fibra");
$saboroso   = array("pizza", "cerveja", "sorvete");

$novafrase = str_replace($saudavel, $saboroso, $frase);

// Uso do parâmetro count está disponível no PHP 5.0.0
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo
$count; // 2
?>

Nota: Esta função é compatível com dados binários

Nota: No PHP 5.0.0 o número "neddles" (search) combinadas e substituidas será retornado em count que é passado por referência. Antes do PHP 5.0.0 este parâmetro não estava disponível.

Veja também str_ireplace(), substr_replace(), ereg_replace(), preg_replace(), e strtr().