本文實例講述了PHP簡單實現(xiàn)正則匹配省市區(qū)的方法。分享給大家供大家參考,具體如下:
省市區(qū)正則匹配
復(fù)制代碼 代碼如下:
preg_match('/(.*?(省|自治區(qū)|北京市|天津市))+(.*?(市|自治州|地區(qū)|區(qū)劃|縣))+(.*?(區(qū)|縣|鎮(zhèn)|鄉(xiāng)|街道))/', $address, $matches);
獲得省市區(qū)數(shù)組
$address = '廣東省深圳市南山區(qū)';
preg_match('/(.*?(省|自治區(qū)|北京市|天津市))/', $address, $matches);
if (count($matches) > 1) {
$province = $matches[count($matches) - 2];
$address = str_replace($province, '', $address);
}
preg_match('/(.*?(市|自治州|地區(qū)|區(qū)劃|縣))/', $address, $matches);
if (count($matches) > 1) {
$city = $matches[count($matches) - 2];
$address = str_replace($city, '', $address);
}
preg_match('/(.*?(區(qū)|縣|鎮(zhèn)|鄉(xiāng)|街道))/', $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 : '',
];
感覺應(yīng)該還有更好的方法,歡迎評論留言
PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php正則表達(dá)式用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
您可能感興趣的文章:- php 正則去掉p> /p> 空格 與p>br/>/p>
- php正則表達(dá)式使用方法整理集合
- PHP常用正則表達(dá)式精選(推薦)
- PHP正則表達(dá)式處理函數(shù)(PCRE 函數(shù))實例小結(jié)
- PHP正則表達(dá)式筆記與實例詳解
- PHP中PCRE正則解析代碼詳解
- PHP正則判斷一個變量是否為正整數(shù)的方法
- PHP正則驗證字符串是否為數(shù)字的兩種方法并附常用正則
- PHP正則匹配到2個字符串之間的內(nèi)容方法
- PHP正則解析多重循環(huán)模板示例
- PHP正則過濾處理微信昵稱中emoji字符的方法
- PHP實現(xiàn)正則匹配所有括號中的內(nèi)容
- PHP使用正則表達(dá)式實現(xiàn)過濾非法字符串功能示例
- PHP實現(xiàn)正則表達(dá)式分組捕獲操作示例
- phpstorm 正則匹配刪除空行、注釋行(替換注釋行為空行)
- PHP利用正則表達(dá)式實現(xiàn)手機號碼中間4位用星號(*)替換顯示功能
- 史上最全的PHP正則表達(dá)式(手機號需要加上177-***)
- PHP正則之正向預(yù)查與反向預(yù)查講解與實例