Подтвердить что ты не робот

Php - регулярное выражение для проверки наличия в строке китайских символов

У меня есть строка $str, и я хочу проверить, имеет ли ее содержимое китайские символы или нет (true/false)

$str = "赕就可消垻,只有当所有方块都被消垻时才可以过关";

можете ли вы мне помочь?

Спасибо! Адриан

4b9b3361

Ответ 1

Вы можете использовать символ символа юникода http://www.regular-expressions.info/unicode.html

preg_match("/\p{Han}+/u", $utf8_str);

Это просто проверяет наличие хотя бы одного китайского персонажа. Возможно, вы захотите расширить его, если хотите совместить полную строку.

Ответ 2

@mario Ответ правильный!

Для китайских символов используйте это регулярное выражение: /[\x{4e00}-\x{9fa5}]+/u

И не забывайте модификатор u!!!

О u модификаторе reference

TKS to mario

Ответ 3

Ссылка на предыдущий вопрос об идентификации упрощенного или традиционного китайского языка может дать вам некоторые идеи... вы на самом деле не указываете, что вы имеете в виду, и я Не знаю китайцев достаточно хорошо, чтобы распознать разницу

Ответ 4

preg_match("/^\p{Han}{2,10}+$/u", $str);

Используйте /^\p {Han} {2,10} + $/u регулярное выражение, которое допускает использование только китайских символов.

  1. Разрешены только китайские иероглифы &
  2. Это позволяет минимум 2 символа &
  3. Допускается не более 10 символов

Вы можете изменить минимальный и максимальный характер, изменив {2,10} в соответствии с вашими потребностями.

\ p & /u очень важно добавить, пожалуйста, не стесняйтесь добавлять его.