Php - регулярное выражение для проверки наличия в строке китайских символов
У меня есть строка $str
, и я хочу проверить, имеет ли ее содержимое китайские символы или нет (true/false)
$str = "赕就可消垻,只有当所有方块都被消垻时才可以过关";
можете ли вы мне помочь?
Спасибо!
Адриан
Ответы
Ответ 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 регулярное выражение, которое допускает использование только китайских символов.
- Разрешены только китайские иероглифы &
- Это позволяет минимум 2 символа &
- Допускается не более 10 символов
Вы можете изменить минимальный и максимальный характер, изменив {2,10} в соответствии с вашими потребностями.
\ p & /u очень важно добавить, пожалуйста, не стесняйтесь добавлять его.