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


Posted in PHP onApril 13, 2018

本文实例讲述了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 : '',
];

感觉应该还有更好的方法,欢迎评论留言

PHP 相关文章推荐
php你的验证码安全码?
Jan 02 PHP
php cout<<的一点看法
Jan 24 PHP
PHP得到某段时间区间的时间戳 php定时任务
Apr 12 PHP
PHP图片验证码制作实现分享(全)
May 10 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
May 13 PHP
利用php绘制饼状图的实现代码
Jun 07 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
Mar 12 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
Oct 08 PHP
PHP常用技巧汇总
Mar 04 PHP
thinkphp跨库操作的简单代码实例
Sep 22 PHP
PHP获取input输入框中的值去数据库比较显示出来
Nov 16 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 PHP
PHP编程实现的TCP服务端和客户端功能示例
Apr 13 #PHP
php框架CodeIgniter使用redis的方法分析
Apr 13 #PHP
php 字符串中是否包含指定字符串的多种方法
Apr 12 #PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 #PHP
PHP实现的mongoDB数据库操作类完整实例
Apr 10 #PHP
PHP实现的简单组词算法示例
Apr 10 #PHP
PHP实现的大文件切割与合并功能示例
Apr 10 #PHP
You might like
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
PHP类的静态(static)方法和静态(static)变量使用介绍
2012/02/19 PHP
PHP简单选择排序算法实例
2015/01/26 PHP
PHP7内核之Reference详解
2019/03/14 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
2009/12/02 Javascript
javascript改变position值实现菜单滚动至顶部后固定
2013/01/18 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
JavaScript仿支付宝6位数字密码输入框
2016/12/29 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
2017/09/20 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
微信小程序App生命周期详解
2018/01/31 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
Python3之文件读写操作的实例讲解
2018/01/23 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
解决Jupyter无法导入已安装的 module问题
2020/04/17 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
HTML5移动端开发遇见的东西
2019/10/11 HTML / CSS
使用html2canvas实现将html内容写入到canvas中生成图片
2020/01/03 HTML / CSS
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
数控技术应用个人求职信范文
2014/02/03 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
社会实践活动总结范文
2014/07/03 职场文书
会计求职自荐信范文
2015/03/04 职场文书
欢迎新生标语2015
2015/07/16 职场文书
2019年思想汇报
2019/06/20 职场文书
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python