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