Php проверить, если строка содержит китайские символы
У меня есть строка $str
и я хочу проверить, есть ли в его содержимом китайские буквы или нет (true/false)
$str = "赕就可消垻,只有当所有方块都被消垻时才可以过关";
не могли бы вы мне помочь?
Спасибо! Адриан
4 ответа
Вы можете использовать класс символов Unicode http://www.regular-expressions.info/unicode.html
preg_match("/\p{Han}+/u", $utf8_str);
Это просто проверяет наличие хотя бы одного китайского символа. Вы можете расширить это, если хотите соответствовать всей строке.
@mario
ответ правильный!
Для китайских символов используйте это регулярное выражение: /[\x{4e00}-\x{9fa5}]+/u
И не забывайте u
модификатор!!!
Около u
ссылка на модификатор
ТКС Марио
Регулярное выражение для разрешения только китайский иероглиф с максимум 10 и минимум 2 китайских иероглифов
/^\p{Han}{2,10}+$/u
Используйте это регулярное выражение, которое допускает только китайский символ.
- Это позволяет только китайский иероглиф
- Это позволяет минимум 2 символа и
- Это позволяет максимум 10 символов
Вы можете изменить минимальный и максимальный характер, изменив {2,10} в соответствии с вашими потребностями.
\ p & / u очень важно добавить, пожалуйста, не избегайте добавлять его.
Эта ссылка на предыдущий вопрос об идентификации упрощенного или традиционного китайского языка может дать вам некоторые идеи... вы на самом деле не указываете, что вы имеете в виду, и я недостаточно хорошо знаю китайский, чтобы понять разницу