PHP скрипт для разбора адреса?
Я ищу PHP-скрипт для разбора поля имени и адреса, который люди прикрепляют к концу своих электронных писем. Он будет загружен в виде простого текста и будет в следующем формате:
John Q. Public
Director of Some Thing
123 Elm Street
Anytown, ST 11001
(000) 555-1212
(000) 555-1213 FAX
Адреса, как правило, различаются по формату, поэтому мне интересно, кто-нибудь еще это взял. Благодарю.
3 ответа
Поскольку адреса могут сильно различаться, это не простая задача анализа. Если возможно, я бы рекомендовал использовать проверенный сервис, такой как Google Geocoding API.
Вы можете использовать PHP file_get_contents() для получения ответа и json_decode() для его чтения (JSON - это один из нескольких форматов, которые может вернуть API геокодирования).
SmartyStreets предлагает инструмент извлечения, чтобы делать подобные вещи. Вы можете вставить в любой блок текста, и он будет пролистывать, чтобы извлечь любые адреса, которые могут быть в нем. SmartyStreets специализируется на проверке адресов, поэтому наши разработчики уже разобрались с проблемой разбора. Вы можете проверить это здесь. Экстрактор - это веб-инструмент, но вы можете использовать его программно, используя PHP. Для этого требуется как минимум бесплатная подписка.
Вот посмотрите, что он нашел из вашей поддельной подписи электронной почты выше:
(Просто чтобы прояснить, я работаю на SmartyStreets.)
Google Geocoding имеет ограничение в 2500 в день.
Если вы анализируете много данных, я предлагаю использовать другие сервисы.
Самый дешевый API геокодирования, который может вернуть отформатированный адрес, подобный Google, - это Geocode Farm. У них также есть jSON, так что вы можете использовать file_get_contents с json_decode(). Я бы посоветовал вам использовать их 25000 в день (25 долларов в месяц) и проанализировать их, если у вас много данных. Если больше, перейдите на другой план. Если в будущем вам понадобится только 2500, а то и больше, я предлагаю вам по-прежнему использовать их, потому что они тоже бесплатны для 2500, и вы можете мгновенно обновить план до платного в их панели управления.
- Отчасти склонен к использованию GeocodeFarm, потому что я обнаружил, что их сервис - единственный, который лучше, чем Google, очень дешевый, и возвращает почти одинаковые результаты, если не точен в большинстве случаев. Никогда не было простоев и люблю их. Я использую GeocodeFarm для всех моих геокодирования и анализа адресов.
Не работающий сайт: они не предоставляют адресные компоненты, как это делает Google, только возвращенный / исправленный адрес...:/ Надеемся, они добавят адресные компоненты в будущем. Единственное, что я обнаружил, это пропало.:(
PS Либо гуглите их, либо я связал их сайт со словом "Ферма геокодов" выше...
PSS Извините за поздний ответ, но, надеюсь, это поможет кому-то еще, кто ищет это...