检测php字符串中的汉字

adi*_*dit 0 php regex

我试图用PHP中的字符串检测中文字符,目前我正在尝试这样做:

$bio = '??????? ??????????????(… ??/???????whatsapp or line: chibimasakishop ???/??????';
    if (preg_match('/[\x{4e00}-\x{9fa5}]+.*\-/u', $bio) === 1) {
        var_dump('contains a chinese character');
    }
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?

Sat*_*rma 6

试试这个

if(preg_match("/\p{Han}+/u", $bio))
{
  var_dump('contains a chinese character');
}  
Run Code Online (Sandbox Code Playgroud)

参考:Php检查字符串是否有中文字符


Jac*_*eng 5

在你的情况下,我认为你有"\ - "额外的,我认为

/[\x{4e00}-\x{9fa5}]+.*/u
Run Code Online (Sandbox Code Playgroud)

应该管用