当前位置:首页 > PHP教程 > 正则表达式 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-09-08 10:24:03 浏览: 评论:0 

这篇文章主要介绍了PHP简单实现正则匹配省市区的方法,涉及php正则匹配、判断、运算等相关操作技巧,需要的朋友可以参考下。

本文实例讲述了PHP简单实现正则匹配省市区的方法,分享给大家供大家参考,具体如下:

省市区正则匹配,代码如下:

preg_match('/(.*?(省|自治区|北京市|天津市))+(.*?(市|自治州|地区|区划|县))+(.*?(区|县|镇|乡|街道))/', $address, $matches);

获得省市区数组

  1. $address = '广东省深圳市南山区'; 
  2. preg_match('/(.*?(省|自治区|北京市|天津市))/', $address, $matches); 
  3. if (count($matches) > 1) { 
  4.   $province = $matches[count($matches) - 2]; 
  5.   $address = str_replace($province, '', $address); 
  6. } 
  7. preg_match('/(.*?(市|自治州|地区|区划|县))/', $address, $matches); 
  8. if (count($matches) > 1) { 
  9.   $city = $matches[count($matches) - 2]; 
  10.   $address = str_replace($city, '', $address); 
  11. } 
  12. preg_match('/(.*?(区|县|镇|乡|街道))/', $address, $matches); 
  13. if (count($matches) > 1) { 
  14.   $area = $matches[count($matches) - 2]; 
  15.   $address = str_replace($area, '', $address); 
  16. } 
  17. return [ 
  18.   'province' => isset($province) ? $province : '', 
  19.   'city' => isset($city) ? $city : '', 
  20.   'area' => isset($area) ? $area : '', 
  21. ];

Tags: PHP正则匹配省市区

分享到: