首頁  >  文章  >  後端開發  >  PHP簡單實作正規匹配省市區的方法

PHP簡單實作正規匹配省市區的方法

不言
不言原創
2018-04-13 11:50:362224瀏覽

這篇文章主要介紹了PHP簡單實現正則匹配省市區的方法,涉及php正則匹配、判斷、運算等相關操作技巧,需要的朋友可以參考下

本文實例講述了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 : '',
];

感覺應該還有更好的方法,歡迎留言留言

##PS:這裡再提供大家2款非常方便的正規表示式工具供大家參考使用:

#JavaScript正規表示式線上測試工具:
http://tools.jb51.net/regex/javascript

#正規表示式線上產生工具:
##http ://tools.jb51.net/regex/create_reg

#相關推薦:

PHP正規符合所有字元失敗的原因及解決方法

PHP正規表示式(增加177手機號碼)

##

以上是PHP簡單實作正規匹配省市區的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn