Как я могу обнаружить незападных персонажей?

Я хочу запретить некоторые входные данные UTF-8 (серверные), например восточные языки, где пример ввода может быть «伊».

Тем не менее, я хочу продолжать поддерживать другие латинские или «латинские» символы, такие как валлийский ŵ и ŷ, поэтому проверка против латинского-1 невозможна .

Какие у меня варианты? (если язык специфичен, предпочитается PHP)

Огромное спасибо.


Рассуждение: поддержка браузера для большого количества незападных символов часто отсутствует (например, в другом браузере я вижу только поле в вопросе выше), поэтому для таких вещей, как отображаемые имена, иногда целесообразно ограничивать его, даже если это не подходит для органы сообщения

Related of "Как я могу обнаружить незападных персонажей?"

Просто делать

 preg_match('/[^\\p{Common}\\p{Latin}]/u', $string) 

где $string$string UTF-8. Это вернет «1», если есть нелатинские символы и в противном случае вернет «0».

Пример:

 var_dump(preg_match('/[^\\p{Common}\\p{Latin}]/u', 'sf..ŷaás??')); //int(0) var_dump(preg_match('/[^\\p{Common}\\p{Latin}]/u', 'sf..ŷݤaás??')); //int(1)