Supresión de expresiones regulares no alfa caracteres

Quiero eliminar todos los caracteres excepto a-zA-Z0-9 y _ chracter. ¿Cómo puede hacer eso en php?

preg_replace("/[^a-zA-Z0-9_]/","",$string); 

O

 preg_replace("/[^a-z0-9_]/i","",$string); 

O

 preg_replace("/[^[:alpha:][:digit:]_]/","",$string)