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 字符串中的\n换行符无效、不能换行的解决方法
Apr 02 PHP
Zend Guard使用指南及问题处理
Jan 07 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
php正则preg_replace_callback函数用法实例
Jun 01 PHP
php将文件夹打包成zip文件的简单实现方法
Oct 04 PHP
mac下多个php版本快速切换的方法
Oct 09 PHP
Yii实现复选框批量操作实例代码
Mar 15 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 PHP
PHP getNamespaces()函数讲解
Feb 03 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
Dec 18 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
Jul 10 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
Oct 30 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
实用函数5
2007/11/08 PHP
PHP的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
PHP ob缓存以及ob函数原理实例解析
2020/11/13 PHP
input 输入框内的输入事件详细分析
2010/03/17 Javascript
jQuery JSON实现无刷新三级联动实例探讨
2013/05/28 Javascript
2种jQuery 实现刮刮卡效果
2015/02/01 Javascript
深入理解JS函数的参数(arguments)的使用
2016/05/28 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
2018/05/27 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
Python做简单的字符串匹配详解
2017/03/21 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
python实现一个简单的ping工具方法
2019/01/31 Python
Python中psutil的介绍与用法
2019/05/02 Python
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
香港优质食材和美酒专门店:FoodWise
2017/09/01 全球购物
英国复古和经典球衣网站:Vintage Football Shirts
2018/10/05 全球购物
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
金山毒霸系列的笔试题
2013/04/13 面试题
Tomcat的缺省是多少,怎么修改
2014/04/09 面试题
中学家长会邀请函
2014/01/17 职场文书
《姥姥的剪纸》教学反思
2014/02/25 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
爱岗敬业演讲稿
2014/05/05 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
党员评议个人总结
2014/10/20 职场文书
小学教师求职信范文
2015/03/20 职场文书
项目合作意向书
2015/05/08 职场文书
珍爱生命主题班会
2015/08/13 职场文书
资产移交协议书
2016/03/24 职场文书
公司要求试用期员工提交“述职报告”,该怎么写?
2019/07/17 职场文书
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server