收貨地址智能解析 PHP版本

收貨地址智能解析

本項目包含2個功能
1. 把字符串解析成姓名、收貨電話、郵編、收貨地址
2. 把收貨地址解析成省、市、區(qū)縣、街道小區(qū)地址

在代購業(yè)務中,會經(jīng)常遇到,客戶把收貨信息(包含姓名,電話,收貨地址的字符串,往往還不會分開,會連在一起)發(fā)給代購,代購再到采購平臺下單,但是代購會把姓名,收貨地址這些信息分開復制,工作量會比較大。本項目正是可以實現(xiàn)收貨地址信息的智能解析,讓代理解雙手,讓代理愛上采購平臺。

該項目采用的是,統(tǒng)計特征分析,然后以最大的概率來匹配,得出大概率的解。因此只能解析中文的收貨信息,而且不能保證100%解析成功,但是從生產環(huán)境的使用情況來看,解析成功率保持在96%以上。


image

如果有什么問題或建議,可以
提交Github Issue

關于如何加入

如果有更好的思路,或者優(yōu)化建議,可以:

  1. fork該項目
  2. 提交Pull Requests
  3. 如果積極貢獻,可以放開權限

1. 把字符串解析成姓名、收貨電話、郵編、收貨地址

使用parse_prepare.php文件中的Address::smart_parse方法,該靜態(tài)方法接受字符串,返回數(shù)組。如:

Address::smart_parse('收貨人姓某某收貨地址:武侯區(qū)倪家橋路11號附2號  617000  136-3333-6666 ');

返回:

array(4) {
  ["name"]=> "姓某某"
  ["mobile"]=> "13633336666"
  ["postcode"]=>"617000"
  ["detail"]=>"武侯區(qū)倪家橋路11號附2號"
}

2. 把收貨地址解析成省、市、區(qū)縣、街道小區(qū)地址

使用parse_detail.php文件中的obj = AddressDetail::detail_parse(str)方法,該靜態(tài)方法接受字符串,同樣返回數(shù)組。但該文件要配合項目的的地址庫 area.sql 才能使用,如:

AddressDetail::detail_parse('成都市高新區(qū)天府軟件園B區(qū)科技大樓');

返回數(shù)組

array(3) {
  [1]=>
  array(2) {
    ["area_id"]=>
    23
    ["area_name"]=>
    "四川省"
  }
  [2]=>
  array(2) {
    ["area_id"]=>
    385
    ["area_name"]=>
    "成都市"
  }
  [3]=>
  array(2) {
    ["area_id"]=>
    5100
    ["area_name"]=>
    "高新區(qū)"
  }
}

3. 聯(lián)系作者

在github上查看源碼,立即使用

https://github.com/pupuk/address-smart-parse
謝謝你在實用的過程中,給一個小小的star

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容