Originariamente inviato da checker
si mi sembra un ottima idea...

vorrei eliminare tutti i caratteri speciali tipo ":}`#~+ ecc. ma lasciare le virgole
Prova così

Codice PHP:
$testo_nuovo=preg_replace("/[^\\w,]/"""$testo); 
Cancelli tutto ciò che è diverso da un numero o una lettera (il \w rappresenta tutte le lettere e tutte le cifre) o una virgola.
Non sono sicuro se la virgola necessiti o meno del backslash.

E poi prova a guardare questo articolo.