PHP中怎样只获取汉字
PHP中怎样只获取汉字,比如我有一段内容:我是拼音abc我是标点符号<,\..等等,我是数字1555把其中的汉字提取出来为:我是拼音我是标点符号等等我是数字...
PHP中怎样只获取汉字,比如我有一段内容:我是拼音abc我是标点符号<,\..等等,我是数字1555 把其中的汉字提取出来为:我是拼音我是标点符号等等我是数字
展开
展开全部
我这个测试了一下,支持GB2312编码和UTF-8编码,其他编码下思路类似,只是要找下编码的起始值就可以了。
function match_chinese($chars,$encoding='utf8'){
$pattern =($encoding=='utf8')?'/[\x{4e00}-\x{9fa5}]/u':'/[\x80-\xFF]/';
preg_match_all($pattern,$chars,$result);
$temp =join('',$result[0]);
return $temp;
}
调用:
$str ="中文汉字English Chars数字12131321";
//UTF-8编码下
echo match_chinese($str);
//gb2312编码下
echo match_chinese($str,'gb2312');
function match_chinese($chars,$encoding='utf8'){
$pattern =($encoding=='utf8')?'/[\x{4e00}-\x{9fa5}]/u':'/[\x80-\xFF]/';
preg_match_all($pattern,$chars,$result);
$temp =join('',$result[0]);
return $temp;
}
调用:
$str ="中文汉字English Chars数字12131321";
//UTF-8编码下
echo match_chinese($str);
//gb2312编码下
echo match_chinese($str,'gb2312');
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询