PHP скрипт для анализа адреса?

Я ищу PHP script для анализа поля имени и адреса, типа, который люди прикрепляют к концу своих писем. Он будет загружен как обычный текст и будет в этом формате:

John Q. Public
Director of Some Thing
123 Elm Street 
Anytown, ST 11001
(000) 555-1212
(000) 555-1213 FAX

Адреса, как правило, меняются в формате, поэтому мне интересно, все ли кто-то это сделал. Спасибо.

Ответ 1

Поскольку адреса могут сильно различаться, это не тривиальная задача синтаксического анализа. Если возможно, я бы рекомендовал использовать проверенный сервис, например Google Geocoding API.

Вы можете использовать PHP file_get_contents() для получения ответа и json_decode(), чтобы прочитать его (JSON является одним из нескольких форматов, возвращаемых API геокодирования).

Ответ 2

SmartyStreets предлагает инструмент для извлечения, чтобы делать подобные вещи. Вы можете вставить любой блок текста, и он очистится, чтобы извлечь любые адреса, которые могут быть в нем. SmartyStreets специализируется на проверке адресов, поэтому наши разработчики уже разобрали проблему синтаксического анализа. Вы можете проверить это здесь. Экстрактор - это веб-инструмент, но вы можете использовать его программно с помощью PHP. Это требует, по крайней мере, бесплатной подписки.

Вот посмотрите, что он нашел от вашей поддельной электронной почты выше:

Extractor results from email signature

(Чтобы быть ясным, я работаю на SmartyStreets.)

Ответ 3

Геокодирование Google ограничено 2500 в день.

Если у вас много анализируемых данных, я предлагаю использовать другие службы.

дешевое геокодирование api, которое может вернуть отформатированный адрес, похожий на Google, будет Geocode Farm. У них также есть jSON, поэтому вы можете использовать file_get_contents с помощью json_decode(). Я бы посоветовал вам использовать их 25 000/день ($ 25/мес) и проанализировать его, если у вас много данных. Если более того, перейдите на другой план. Если вам нужно всего лишь 2500, но больше в будущем, я предлагаю вам по-прежнему использовать их, потому что они бесплатны и для 2500, и вы можете мгновенно обновить план до платного на панели управления.

  • Вид предвзятого использования GeocodeFarm, потому что их сервис является единственным, что я нашел, что лучше, чем Google, дешево, и возвращается близко к тем же результатам, если не в большинстве случаев. Никогда не было простоев и любил их. Я использую GeocodeFarm для всего моего геокодирования и анализа пар.

Сайт вниз: Они не предоставляют адресные компоненты, как Google, только возвращенный/исправленный адрес...:/Надеемся, они добавят адресные компоненты в будущем. Единственное, что я обнаружил, что пропало.: (

P.S. Либо Google, либо я связал свой сайт со словом "Geocode Farm" выше...

P.S.S. Извините за поздний ответ, но, надеюсь, это поможет кому-то, кто ищет это...