parli di "sbaglio" ma non specifichi dove sta il problema... probabilmente lo script si blocca con un errore? in realtà potrebbe essere più adatto usare le espressioni regolari, ma se è sufficiente una sostituzione semplice allora prova a correggere lo script inviato, che contiene doppi apici in maniera scorretta...
intanto cambia:
Codice PHP:
$str = str_replace("$username="";", "$username="user";", $str);
con:
Codice PHP:
$str = str_replace('$username="";', '$username="user";', $str);
inoltre manca completamente la riscrittura del contenuto (lo leggi, lo modifichi, ma non lo risalvi) da aggiungersi in coda.