Originariamente inviato da chiamatekatia
Purtroppo non funziona...

Codice PHP:
$messaggio $_POST['messaggio'];

$stringa str_replace('@','chiocciola',$messaggio); 

echo 
"$messaggio ---->  $stringa"
Mttendo ora che $messaggio sia: llll@llll.it
$stringa mi rimane llll@llll.it

Mentre invece dovrebbe essere...llllchiocciolallll.it

Perchè?
Usa le espressioni regolari:
codice:
$stringa_da_sostituire = '@';
$stringa_di_sostituzione = 'chiocciola';
$stringa = 'pater@pater.pater';
$nuova_stringa = preg_Replace("|$stringa_da sostituire|", "$stringa_di_sostituzione", $stringa);
DOvrebbe andare

Le espressioni regolari sono molto complesse, se le vuoi studiare comunque, cerca su freephp.html.it oppure c'è una pillola qui nel forum.