Regular expression is your answer.
$str = preg_replace('/[^a-z\d ]/i', '', $str);
i
stands for case insensitive. ^
means, does not start with. \d
matches any digit. a-z
matches all characters between a
and z
. Because of the i
parameter you don't have to specify a-z
and A-Z
. \d
there is a space, so spaces are allowed in this regex.