Regex для отклонения неанглийских символов?

Есть ли простое регулярное выражение, которое поймает всех неанглийских символов? Это должно было бы разрешить общую пункцию и символы, но никаких специальных символов, таких как русский, японский и т. Д.

Ищете что-то для работы на PHP.

Поскольку в вашем комментарии, ссылаясь на адреса, они могут содержать цифры. Так:

preg_replace('/[^[:alpha:][:punct:][:digit:]]/u', utf8_encode($input), ''); 

Следует заменить ваши нежелательные символы. Класс [:alpha:] будет работать, только если ваш язык настроен правильно. Если, например, он установлен в de_DE , de_DE не только «а» через «z», но и «экзотики», такие как «ä», «ö», «è» и т. П.

Кроме того, поскольку вы не хотите «русский, японский и т. Д.», Обратите внимание на модификатор u . Вход должен быть закодирован в кодировке UTF-8, чтобы не сломать его и дать неверные результаты.

Например, этот [^ A-Za-z0-9 \, \. \ -]?

Кажется, что этот q / a справился с этим: PHP. Проверка символов строки – это символы символов в Великобритании или США.

используйте шестнадцатеричные коды , например, это очищает все символы не-ascii, а также окончания строк и заменяет их пробелами. space ( \x20 ) намеренно выведен из диапазона, так что последовательные пробеги пробелов и / или специальных символов заменяются одним пробелом.

 $clean = trim(preg_replace('/[^\x21-\x7E]+/', ' ', $input)); 
 if (strlen($str) == strlen(utf8_decode($str))) { }