Blog
It's a Wonderful Life
PHP判断字符串包含的文字类型
不多说,直接上代码。
<?php
//\p{Han}表示匹配汉字,^$限定了字符串必须只包含汉字。
if (preg_match('/^\p{Han}+$/u', $param))
{
return "HAN";
}
//\p{L} or \p{Letter}表示匹配字母,^$限定了字符串必须只包含字母。
elseif (preg_match('/^\p{L}+$/i', $param))
{
return "ENG";
}
//如果上述两个都不匹配,就表示字符串是汉字和字母的混合。
else
{
return "BOTH";
}
补充知识点: 正则式后面的u
表示模式字符串将被以UTF-8字符模式对待。在匹配中文的时候必须带上,只有这样才能正确匹配中文字符。