Salve a tutti

Ho un semplicissimo form di inserimento news, sul campo testo applico una str_replace per sostituire gli apici con un altro carattere lo sript è il seguente:

definisco la variabile
$testo = $_POST['testo'];

e applico l'insert

$sql = "INSERT INTO news (nw_titolo, nw_testo, nw_img, nw_stato, nw_data) values ('" . $_POST["titolo"] . "', '" . str_replace("'", "\'", $testo) . "', '$img', 1,CURDATE())";

quando eseguo l'inserimento è come se la str_replace non esistesse.

qualcuno sa dirmi dove sbaglio???