monstrum/address-normalizer

There is no license information available for the latest version (dev-master) of this package.

dev-master 2020-05-19 14:11 UTC

This package is not auto-updated.

Last update: 2024-03-21 03:55:53 UTC


README

$address = new Address();
$address->streetAddress = "Hamburger strasse";
$address->houseNumber = "12-a";
$address->postalCode = 123456;
$address->addressLocality = "Hamburg";
$address->addressRegion = "Hamburg";
$address->addressCountry = "DE";

$normalizer = new AddressStreetNormalizer(De::class);
$normalizer->normalize($address);

Results:

$address->streetAddress = "Hamburger str";
$address->houseNumber = "12 a";
$address->postalCode = 123456;
$address->addressLocality = "Hämburg";
$address->addressRegion = "Hämburg";
$address->addressCountry = "DE";

Using custom Type:

# AtDe.php
class AtDe extends Base
{
    /**
     * @inheritDoc
     */
    const ACCENTS = [
        'ä' => 'ae',
        'Ä' => 'Ae',
        'ü' => 'ue',
        'Ü' => 'ue',
        'ö' => 'oe',
        'Ö' => 'oe',
        'ß' => 'ss',
    ];

    const REGEX = "/[^A-Za-z0-9 ]/";
}

$normalizer = new AddressStreetNormalizer(AtDe::class);
$address = $address;
$normalizer->normalize($address);

Results:

$address->streetAddress = "Hamburger strasse";
$address->houseNumber = "12-a";
$address->postalCode = 123456;
$address->addressLocality = "Haemburg";
$address->addressRegion = "Haemburg";
$address->addressCountry = "DE";