hanhan/address-parser

地址自动识别PHP库

Maintainers

Package info

github.com/han013/php-address-parser

pkg:composer/hanhan/address-parser

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-03-20 04:00 UTC

This package is auto-updated.

Last update: 2026-03-20 05:22:35 UTC


README

中文地址解析 PHP 库,支持省/市/区/乡镇识别与口岸等标志地区识别。

核心能力包括:

  • 省/市/区识别
  • 口岸等标志地区优先识别
  • 直辖市 city 回填(避免空值)
  • 乡镇分片加载(对应 JS 的异步分片策略)
  • 口岸歧义处理(口岸 不误匹配 口岸街道

安装

composer require hanhan/address-parser

快速使用

<?php
require __DIR__ . '/vendor/autoload.php';

use hanhan\AddressParser\AddressParser;

$parser = new AddressParser(); // 默认读取包内 data/region 数据

$result = $parser->parseWithChunkTownships("北京市朝阳区建国路");
print_r($result);

外部扩展口岸

$result = $parser->parseWithChunkTownships("某某新口岸", [
    "landmarks" => [
        [
            "name" => "某某新口岸",
            "aliases" => ["某某新"],
            "province" => "云南省",
            "city" => "临沧市",
            "district" => "某某县",
            "type" => "口岸",
        ],
    ],
]);

API

  • parse(string $rawAddress, array $options = []): array
    • 同步基础解析,不自动加载乡镇分片
  • parseWithChunkTownships(string $rawAddress, array $options = []): array
    • 先基础解析,再按省份加载 data/region/townships/*.json 做二次解析

$options 支持:

  • divisionTree:自定义省市区树
  • landmarks:追加/覆盖标志地区(按 name 去重,后者覆盖前者)
  • townships:额外乡镇数据