PHP简单实现正则匹配省市区的方法
这篇文章主要介绍了PHP简单实现正则匹配省市区的方法,涉及php正则匹配、判断、运算等相关操作技巧,需要的朋友可以参考下。
本文实例讲述了PHP简单实现正则匹配省市区的方法,分享给大家供大家参考,具体如下:
省市区正则匹配,代码如下:
preg_match('/(.*?(省|自治区|北京市|天津市))+(.*?(市|自治州|地区|区划|县))+(.*?(区|县|镇|乡|街道))/', $address, $matches);
获得省市区数组
- $address = '广东省深圳市南山区';
- preg_match('/(.*?(省|自治区|北京市|天津市))/', $address, $matches);
- if (count($matches) > 1) {
- $province = $matches[count($matches) - 2];
- $address = str_replace($province, '', $address);
- }
- preg_match('/(.*?(市|自治州|地区|区划|县))/', $address, $matches);
- if (count($matches) > 1) {
- $city = $matches[count($matches) - 2];
- $address = str_replace($city, '', $address);
- }
- preg_match('/(.*?(区|县|镇|乡|街道))/', $address, $matches);
- if (count($matches) > 1) {
- $area = $matches[count($matches) - 2];
- $address = str_replace($area, '', $address);
- }
- return [
- 'province' => isset($province) ? $province : '',
- 'city' => isset($city) ? $city : '',
- 'area' => isset($area) ? $area : '',
- ];