我有字符串$str
,我想检查它的内容是否有中文字符(真/假)
$str = "赕就可消垻,只有当所有方块都被消垻时才可以过关";
你能帮我吗?
谢谢! 阿德里安
答案 0 :(得分:53)
您可以使用unicode字符类http://www.regular-expressions.info/unicode.html
preg_match("/\p{Han}+/u", $utf8_str);
这只是检查是否存在至少一个中文字符。如果要匹配完整的字符串,可能需要对此进行扩展。
答案 1 :(得分:2)
答案 2 :(得分:1)
前一个关于识别简体中文或繁体中文的问题link可能会给你一些想法......你实际上没有说明你的意思,而且我不太清楚中国人是否认识到差异
答案 3 :(得分:1)
preg_match("/^\p{Han}{2,10}+$/u", $str);
使用仅允许使用中文字符的 / ^ \ p {Han} {2,10} + $ / u 正则表达式。
您可以根据需要更改{2,10}来更改最小和最大字符。
\ p & / u 非常重要,请不要添加。