方案解决目标:对一段中文字符进行正则匹配,获取其中中文字符数据
有这么一段字符信息:
$str = '北京=460;上海=368;深圳=326;广州=297;';
目标是把字符中的地区名获取出来,组成所需的数组数据
首先我们得先要明白中文双字节字符编码范围:.
-
GBK (GB2312/GB18030) x00-xff GBK双字节编码范围 x20-x7f ASCII xa1-xff 中文 gb2312 x80-xff 中文 gbk
-
UTF-8 (Unicode) u4e00-u9fa5 (中文) x3130-x318F (韩文 xAC00-xD7A3 (韩文) u0800-u4e00 (日文)
<?php $str = '北京=460;上海=368;深圳=326;广州=297;'; // 在UTF-8编码下进行正则匹配 if(preg_match_all("/[\x{4e00}-\x{9fa5}]+/u", $str, $result)){ var_dump($result[0]); } // 在GBK编码下进行正则匹配 if (preg_match_all("/[x80-xff>]+/u", $str, $data)){ var_dump($data[0]); }