Я хочу запретить некоторые входные данные UTF-8 (серверные), например восточные языки, где пример ввода может быть «伊».
Тем не менее, я хочу продолжать поддерживать другие латинские или «латинские» символы, такие как валлийский ŵ и ŷ, поэтому проверка против латинского-1 невозможна .
Какие у меня варианты? (если язык специфичен, предпочитается PHP)
Огромное спасибо.
Рассуждение: поддержка браузера для большого количества незападных символов часто отсутствует (например, в другом браузере я вижу только поле в вопросе выше), поэтому для таких вещей, как отображаемые имена, иногда целесообразно ограничивать его, даже если это не подходит для органы сообщения
Просто делать
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)