арабские символы в основном находятся в диапазон Unicode 0600–06FF . Unicode имеет несколько дополнений и т. Д. Для арабского языка. Например, диапазон кода 0750–077F содержит в основном арабские символы, которые используются главным образом в некоторых африканских языках. Диапазон кодов 08A0–08FF охватывает еще несколько букв для африканских языков, для Европы и Центральной Азии
языки, пакистанские марки Корана и т. д. Два других диапазона кодов Unicode для арабского языка, FB50 – FDFF и FE70 – FEFF , вероятно, менее важны, если вы уже охватили 0600–06FF.
Символы для Китайский (и японский и корейский) зарегистрированы в другом диапазоне Юникода (с несколькими расширениями). Наиболее важным из них является 4E00–9FD5 . Предполагая, что вам не нужно беспокоиться о японском языке, этого должно быть достаточно для обнаружения сценариев , но если вы хотите проверить расширения, проверьте список кодов Консорциума Unicode .
Так что, если вам нужно отфильтровать только арабские и китайские скрипты и не хотите использовать подход, предложенный troelskn (т.е. использовать списки общих слов для языков, которые вы хотите идентифицировать - это делает не слишком хорошо масштабируется для большого количества языков), достаточно определить диапазон кодов символов на вводе. StackOverflow уже решил ранее заданный вопрос о , как определять диапазоны Unicode в PHP .