PHP简单实现正则匹配省市区的方法

这篇文章主要介绍了PHP简单实现正则匹配省市区的方法,涉及php正则匹配、判断、运算等相关操作技巧,需要的朋友可以参考下。

本文实例讲述了PHP简单实现正则匹配省市区的方法,分享给大家供大家参考,具体如下:

省市区正则匹配,代码如下:

preg_match('/(.*?(省|自治区|北京市|天津市))+(.*?(市|自治州|地区|区划|县))+(.*?(区|县|镇|乡|街道))/', $address, $matches);

获得省市区数组

  1. $address = '广东省深圳市南山区';
  2. preg_match('/(.*?(省|自治区|北京市|天津市))/', $address, $matches);
  3. if (count($matches) > 1) {
  4. $province = $matches[count($matches) - 2];
  5. $address = str_replace($province, '', $address);
  6. }
  7. preg_match('/(.*?(市|自治州|地区|区划|县))/', $address, $matches);
  8. if (count($matches) > 1) {
  9. $city = $matches[count($matches) - 2];
  10. $address = str_replace($city, '', $address);
  11. }
  12. preg_match('/(.*?(区|县|镇|乡|街道))/', $address, $matches);
  13. if (count($matches) > 1) {
  14. $area = $matches[count($matches) - 2];
  15. $address = str_replace($area, '', $address);
  16. }
  17. return [
  18. 'province' => isset($province) ? $province : '',
  19. 'city' => isset($city) ? $city : '',
  20. 'area' => isset($area) ? $area : '',
  21. ];