Skip to content

An extendible address parser written in PHP, using a best-guess algorithm.

License

Notifications You must be signed in to change notification settings

michaelbutler/where2

Repository files navigation

Where2

Build Status Code Coverage Software License Latest Commit Coded in PhpStorm

A mailing address parser written in PHP, using a best-guess algorithm. Does not require any external APIs, but may not be 100% accurate in all cases.

Currently provides support for these countries:

  • USA

Usage

<?php

use Where2\AddressParser;

require 'vendor/autoload.php';

$parser = new AddressParser();
$address = $parser->parse('71777 32nd St. Apt 208, Tinton Falls, PA 43712-3438');

print_r($address); 

// Outputs:
/*
Where2\ParsedAddress Object
(
    [fullName:Where2\ParsedAddress:private] => 
    [houseNumber:Where2\ParsedAddress:private] => 71777
    [addressLine1:Where2\ParsedAddress:private] => 71777 32ND ST. APT 208
    [addressLine2:Where2\ParsedAddress:private] => 
    [addressLine3:Where2\ParsedAddress:private] => 
    [city:Where2\ParsedAddress:private] => TINTON FALLS
    [region:Where2\ParsedAddress:private] => PA
    [postalCode:Where2\ParsedAddress:private] => 43712
    [postalCodeExtra:Where2\ParsedAddress:private] => 3438
    [country:Where2\ParsedAddress:private] => US
    [rawData:Where2\ParsedAddress:private] => 71777 32nd St. Apt 208, Tinton Falls, PA 43712-3438
)
*/

As this is a best-guess algorithm and not machine-learning based, not all addresses can be parsed correctly. For best results, address lines should at least be separated by either commas or line breaks.

If an address cannot be parsed, a \Where2\Where2Exception will be thrown.

About

An extendible address parser written in PHP, using a best-guess algorithm.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published