Как я могу обнаружить незападных персонажей?
Я хочу отключить определенный вход UTF-8 (серверный), например. восточные языки, где пример ввода может быть "伊".
Тем не менее, я хочу продолжать поддерживать другие латинские или латинские символы, такие как валлийский ŵ и ŷ, поэтому проверка на латинский-1 невозможно.
Каковы мои варианты? (если язык специфичен, предпочитается PHP)
Большое спасибо.
Рассуждение: часто требуется поддержка браузера для множества незападных символов (например, в другом браузере я вижу только поле в вопросе выше), поэтому для таких вещей, как отображаемые имена, иногда бывает необходимо ограничить его, даже если он не подходит для органов сообщений
Ответы
Ответ 1
Просто сделай
preg_match('/[^\\p{Common}\\p{Latin}]/u', $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)