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 判断常量,变量和函数是否存在
Apr 26 PHP
php实现的仿阿里巴巴实现同类产品翻页
Dec 11 PHP
ubuntu 编译安装php 5.3.3+memcache的方法
Aug 05 PHP
PHP文件打开、关闭、写入的判断与执行代码
May 24 PHP
改写函数实现PHP二维/三维数组转字符串
Sep 13 PHP
深入浅析php json 格式控制
Dec 24 PHP
PHP使用PDO操作数据库的乱码问题解决方法
Apr 08 PHP
php简单截取字符串代码示例
Oct 19 PHP
PHP Header失效的原因分析及解决方法
Nov 16 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
Mar 12 PHP
Laravel中unique和exists验证规则的优化详解
Jan 28 PHP
laravel 中某一字段自增、自减的例子
Oct 11 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
zend framework配置操作数据库实例分析
2012/12/06 PHP
初识PHP
2014/09/28 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
TNC vs BOOM BO3 第一场2.13
2021/03/10 DOTA
类似CSDN图片切换效果脚本
2009/09/17 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)
2016/11/30 Javascript
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
vue-cli 2.*中导入公共less文件的方法步骤
2018/11/22 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
Node配合WebSocket做多文件下载以及进度回传
2019/11/07 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
JS代码实现页面切换效果
2021/01/10 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
决策树的python实现方法
2014/11/18 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
python实现音乐播放和下载小程序功能
2020/04/26 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
介绍一下如何利用路径遍历进行攻击及如何防范
2014/01/19 面试题
一道输出判断型Java面试题
2014/10/01 面试题
高中政治教学反思
2014/01/18 职场文书
yy司仪主持词
2014/03/22 职场文书
文明倡议书范文
2014/04/15 职场文书
新郎结婚保证书
2015/02/26 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
Python list去重且保持原顺序不变的方法
2021/04/03 Python
mysql死锁和分库分表问题详解
2021/04/16 MySQL
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫