PHP处理地址匹配出省市区

function handleAddress($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 : '',
  ];
}

dump(handleAddress('广东省深圳市南山区科技生态园'));

原文地址:https://www.cnblogs.com/yimingwang/p/8855650.html