Hallo,
ich habe ein etwas älteres Projekt von mir ein wenig überarbeitet und auf Github zur Verfügung gestellt. (
https://github.com/hansvas/Postalman/) Dabei handelt es sich um eine Klasse zum parsen von internationalen Adressen. Postalman erzeugt aus
"99999 Berlin, Peter Lustig, Fanz-Lehar-Str. 2" den "korrekten" Output "Peter Lustig, Franz-Lehar-Str. 2, 99999 Berlin" und natürlich auch aus fast jeder anderen Adresse.
außerdem identifiziert Postalman die Adressbestandteile, also die entsprechende Zuordnung von Plz, Strasse, Ort usw. Dieser Teil der Funktionalität geht weitestgehend auf libpostal [1] zurück, wer Postalman nicht einsetzen will kann auch einfach die entsprechenden Headerdateien nehmen und libpostal selbst einbinden.
Adressen können innerhalb von Postalman mit Hilfe von Validatoren geprüft werden. Ich habe einen einfachen Validator der auf Nomanitim basiert und der Adressdaten auch mit Längen und Breitengrad anreichern kann. Im Laufe der Zeit werde ich weitere Validatoren hinzufügen.
hth Hans Joerg
[1]
https://github.com/openvenues/libpostal