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简单对象与数组的转换函数代码(php多层数组和对象的转换)
May 18 PHP
PHP的博客ping服务代码
Feb 04 PHP
CI框架中zip类应用示例
Jun 17 PHP
php函数serialize()与unserialize()用法实例
Nov 06 PHP
smarty内置函数section的用法
Jan 22 PHP
Yii快速入门经典教程
Dec 28 PHP
Yii+upload实现AJAX上传图片的方法
Jul 13 PHP
PHP简单判断手机设备的方法
Aug 23 PHP
分享PHP-pcntl 实现多进程代码
Sep 30 PHP
简单实现php上传文件功能
Sep 21 PHP
php+mysql实现的无限分类方法类定义与使用示例
May 27 PHP
php实现简易计算器
Aug 28 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
php实现的九九乘法口诀表简洁版
2014/07/28 PHP
php+js实现点赞功能的示例详解
2020/08/07 PHP
PHP7 windows支持
2021/03/09 PHP
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
优化RequireJS项目的相关技巧总结
2015/07/01 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
微信小程序 教程之注册程序
2016/10/17 Javascript
详解React+Koa实现服务端渲染(SSR)
2018/05/23 Javascript
angular1.x ui-route传参的三种写法小结
2018/08/31 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python之当你发现QTimer不能用时的解决方法
2019/06/21 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
python实现马丁策略的实例详解
2021/01/15 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
2017/08/18 HTML / CSS
瑞贝卡·泰勒官方网站:Rebecca Taylor
2016/09/24 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
迷你西餐厅创业计划书范文
2013/12/31 职场文书
表决心的诗句大全
2014/03/11 职场文书
美术指导求职信
2014/03/17 职场文书
语文高效课堂实施方案
2014/05/03 职场文书
八项规定整改方案
2014/10/01 职场文书
护士长2014年度工作总结
2014/11/11 职场文书
2014年库房工作总结
2014/11/26 职场文书
研究生就业推荐表导师评语
2014/12/31 职场文书
通知的格式范文
2015/04/27 职场文书
大学入学感言
2015/08/01 职场文书
银行柜员工作心得体会
2016/01/23 职场文书
CSS 还能这样玩?奇思妙想渐变的艺术
2021/04/27 HTML / CSS