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 相关文章推荐
将OICQ数据转成MYSQL数据
Oct 09 PHP
PHP令牌 Token改进版
Jul 18 PHP
php反弹shell实现代码
Apr 22 PHP
php str_pad 函数用法简介
Jul 11 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
CodeIgniter模板引擎使用实例
Jul 15 PHP
php中mysql连接方式PDO使用详解
Feb 25 PHP
php正则表达式获取内容所有链接
Jul 24 PHP
PHP消息队列用法实例分析
Feb 12 PHP
Zend Framework教程之Autoloading用法详解
Mar 08 PHP
php微信浏览器分享设置以及回调详解
Aug 01 PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 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
探讨Smarty中如何获取数组的长度以及smarty调用php函数的详解
2013/06/20 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
PHP连接sql server 2005环境配置及问题解决
2014/08/08 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
php生成微信红包数组的方法
2019/09/05 PHP
js 自制滚动条的小例子
2013/03/16 Javascript
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
jQuery实现的动态伸缩导航菜单实例
2015/05/07 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
JS for循环中i++ 和 ++i的区别介绍
2016/07/20 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
基于zepto.js实现登录界面
2017/10/09 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
iview实现图片上传功能
2020/06/29 Javascript
Python中实现结构相似的函数调用方法
2015/03/10 Python
Python编程实现双击更新所有已安装python模块的方法
2017/06/05 Python
用pycharm开发django项目示例代码
2018/10/24 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
Python使用Pickle模块进行数据保存和读取的讲解
2019/04/09 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
HTML5 Video/Audio播放本地文件示例介绍
2013/11/18 HTML / CSS
生物制药专业自我鉴定
2014/02/19 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
2015年社区党务工作总结
2015/04/21 职场文书
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers
关于Python中进度条的六个实用技巧分享
2022/04/05 Python