Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Gostaria de subistuir palavras exatas em um texto, mas com o replace() se ele encontrar parte da palavra também substitui, tem outra função para que substitua uma paravra inteira:
<?
$frase = "Eu acho gostoso comer pizza e gosto com guaraná";
$frase = str_replace("gosto", "gosta", $frase);
echo $frase;
// irá retornar = Eu acho gostaso comer pizza e gosta com guaraná
// eu queria que substituisse somente a palava gosto e não a gostoso tambem.
?>
Agradeço desde já.
Olha só, penso que é só colocar a palavra que tu queres e a outra que será a substituta, desta forma abaixo.
Sempre que tu colocares uma parte da palavra, será substituída somente está parte, é essa a intenção?
<?php
$frase = "Eu acho gostoso comer pizza e gosto com guaraná";
$subs = str_replace("gostoso", "gosto", $frase);
$subs2 = ereg_replace("gostoso","gosto",$frase);
echo $subs."<br>"; //Eu acho gosto comer pizza e gosto com guaraná
echo $subs2."<br>"; //Eu acho gosto comer pizza e gosto com guaraná
?>
Abraços.Oi Rogers_7,
o problema é que ele quer uma palavra exata e o str_replace muda tudo... não importando se estar ou não junto de outra palavra.
Orides, tentou com o ereg??
abraços,
Léo
Você pode substituir com expressão regular, só indicar nela que você quer somente palavras, por exemplo:
$string = "A velha raposa marrom ataca o cão preguiçoso";
echo preg_replace('@\bmar\b@', 'rio', $string);
// irá mostrar "A velha raposa marrom ataca o cão preguiçoso" -- ou seja não substitui o mar de marrom
echo preg_replace('@mar@', 'rio', $string);
// irá mostrar "A velha raposa riorom ataca o cão preguiçoso" -- ou seja substitui o mar de marrom
@braços e fique com Deus!
Olá Orides,
creio que usando o ereg_replace() você poderá resolver o problema. Ainda não testei aqui, estou saindo do trampo agora.
Veja aqui:
http://br2.php.net/manual/pt_BR/function.ereg-replace.php
Qualquer dúvida,
abraços,
Léo