Как я могу обнаружить незападных персонажей? - PullRequest
15 голосов
/ 05 августа 2010

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

Однако я хочу продолжить поддерживать другие латинские или "латиноподобные" символы, такие как welsh ŵ и 100, поэтому проверка по латинице 1 невозможна .

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

Большое спасибо.


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

1 Ответ

34 голосов
/ 05 августа 2010

Просто выполните

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

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

...