Ответ Гамбо является правильным для вашей спецификации.Но если ваша «спецификация» является только «символической», то, что вам в конечном итоге понадобится, может выглядеть следующим образом:
$str = preg_replace('{ [^ \w \s \' " ] }x', '', $str );
[^ ]
: отрицательный класс символов (все , за исключением этих внутри)
\w
: буквенно-цифровые (буквы и цифры)
\s
: пробел
\'
: '