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('广东省深圳市南山区科技生态园'));

PHP处理地址匹配出省市区的更多相关文章

  1. 循环匹配出图片地址(即src属性)

    <script type="text/javascript"> //思路分两步:作者(yanue). //1,匹配出图片img标签(即匹配出所有图片),过滤其他不需要的 ...

  2. 39 Flutter仿京东商城项目 收货地址列表、增加 修改收货地址布局、弹出省市区选择器

    加群452892873 下载对应39课文件,运行方法,建好项目,直接替换lib目录 pubspec.yaml city_pickers: ^ AddressAdd.dart import 'packa ...

  3. sql地址寻路算法(省市区路)

    最近无意翻开4年前做过的一个功能,就是搜集全国各城市各个区(县)的路(XX路.XX道.XX街.XX镇.XX乡.XX屯.XX村.XX社).众所周知,我们都可以在网上找到省.市.区(县)这三级联动的数据, ...

  4. IP地址匹配

    问题描述: 在路由器中,一般来说转发模块采用最大前缀匹配原则进行目的端口查找,具体如下: IP地址和子网地址匹配: IP地址和子网地址所带掩码做AND运算后,得到的值与子网地址相同,则该IP地址与该子 ...

  5. 使用VSS2005的时候报错:输入正确的服务器地址依然出错了

    使用VSS2005的时候报错:输入正确的服务器地址依然出错了 使用VSS2005的时候报错: 在安装完vss客户端,进入vss服务器的时候,需要vss服务器的ip和数据库名称.以及初始化文件, 我在进 ...

  6. 只要访问的地址匹配cookie的地址时候 发送request请求时候 会携带上该cookie

    只要访问的地址匹配cookie的地址时候 发送request请求时候 会携带上该cookie

  7. 请用正则表达式匹配出QQ号(假设QQ号码为5—10位);

    请用正则表达式匹配出QQ号(假设QQ号码为5—10位): 解答: ^ \d{5,10}$

  8. 常用PLC与ifix/intouch驱动地址匹配规则

    常用PLC与IFIX /的InTouch驱动地址匹配规则如下(持续更新): 1.施耐德M580<----->Intouch的/ IFIX: AI:400102<-----> 4 ...

  9. js 调用百度地图,并且定位用户地址,显示省市区街,经纬度

    网上的一些百度地图例子,基本上没有连套的 定位 例子.下面我分享一套我自己弄的,废话不多说,看代码,里面有注释! <!DOCTYPE html> <html> <head ...

随机推荐

  1. Skyline(6.x)-Web二次开发-1多窗口对比

    一个页面加载多个 TerraExplorer3DWindow 和 SGWorld 等只有第一个能用(即使用 iframe 也是一样) 所以我决定打开两个新页面实现多窗口对比,然后我在<主页面&g ...

  2. 面试题:Nginx负载均衡的算法怎么实现的?为什么要做动静分离?

    面试题 Nginx负载均衡的算法怎么实现的?Nginx 有哪些负载均衡策略?Nginx为什么要做动静分离? 面试官心理剖析 主要是看应聘人员对Nginx的基本原理是否熟悉,需要应聘人员能够根据实际业务 ...

  3. 小米手机_adb安装apk报错”Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]“

    问题: adb安装apk至小米手机时,安装失败,报错提示“Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]”,如下图 ...

  4. HDU 3466 Proud Merchants(01背包)

    题目链接: 传送门 Proud Merchants Time Limit: 1000MS     Memory Limit: 65536K Description Recently, iSea wen ...

  5. shell脚本对代码执行时间的计时

    时间秒: $(date +%s) 算数表达式: $(($cost_time/60)) $(($cost_time%60)) #!/bin/bash # ccache is from epel mirr ...

  6. Fiddler之iOS手机抓包代理设置

    一.前置步骤:官网下载并安装好 二.设置iOS手机代理到windows电脑 1.打开Fiddler,点击上方Tools,进入Options,选择HTTPS,按下图设置 2.fiddler默认监听端口8 ...

  7. 监控工具 zxbbix

    报错 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server throug ...

  8. python 批量爬取四级成绩单

    使用本文爬取成绩大致有几个步骤:1.提取表格(或其他格式文件——含有姓名,身份证等信息)中的数据,为进行准考证爬取做准备.2.下载准考证文件并提取出准考证和姓名信息.3.根据得到信息进行数据分析和存储 ...

  9. Java Console/控制台 打印表格

    功能:控制台打印表格,支持字段动态长度,左对齐,右对齐,居中,设置最大列长,设置列间隔符,设置最多打印多少行. 类下载地址:http://download.csdn.net/download/j506 ...

  10. 【转】modulenotfounderror: no module named 'matplotlib._path'问题的解决

    今天在装matplotlib包的时候遇到这样的问题,在网上找了很长时间没有类似很好的解决方法,最后自己 研究找到了解决的方法. 之前在pycharm里面已经装了matplotlib包,之后觉着下载包挺 ...