Dovresti specificare quali caratteri sono ammessi, solo lettere o anche numeri, ci sono una o più parole eventualmente da separare in qualche modo?

Un esempio

codice:
echo preg_replace( "#(?i)[^a-z0-9_]+#",'', $str) ;