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. Извините за поздний ответ, но, надеюсь, это поможет кому-то, кто ищет это...