Просто используйте preg_replace
с разрешенным шаблоном отрицательным.
Например, если вы разрешаете a до Z и пробелы, вы просто отрицаете это, добавляя ^
к классу символов:
echo preg_replace('/[^a-z ]*/i', '', 'This is a String !!!');
Вышеприведенное вывело бы: Это строка (без восклицательных знаков).
Таким образом, он удаляет любой символ, который не является буквой Z или пробелом, например ваш шаблон отрицается.