Salve ho un piccolo problema, credo sia una stupidagine

in una pagina con un form, inserisco questo testo

testo con l'apostrofo

ho una pagina php che prende i valori dal form e li inserisce nel db.

per essere sicuri che i caratteri speciali non sballino tutto, le stringhe vengono convertite così

$testo = htmlspecialchars($testo, ENT_QUOTES);

il mio problema è che la stringa in questione viene convertita così

testo con l\'apostrofo

come mai viene aggiunto questo carattere \ ?

come posso fare a rimuoverlo? str_replace?

grazie