Funções PHP |
. Glossários Funções PHP - 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
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:
Uso da função str_replace()
<?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().