我正在寻找一个PHP脚本来解析名称和地址字段,人们将其附加到电子邮件末尾。它会以纯文本格式上载,并采用以下格式:
John Q. Public
Director of Some Thing
123 Elm Street
Anytown, ST 11001
(000) 555-1212
(000) 555-1213 FAX
这些地址的格式往往不同,这就是为什么我想知道是否有人接受过这种地址。谢谢。
因为地址可能有很大的不同,所以这不是简单的解析任务。如果可能的话,我建议使用经过验证的服务,例如The Google Geocoding API。
您可以使用PHP的file_get_contents()检索答案,并使用json_decode()读取答案(JSON是Geocoding API可以返回的几种格式之一。
SmartyStreets提供了一种提取工具来执行此类操作。您可以粘贴任何文本块,它会被抓取以提取其中可能存在的任何地址。 SmartyStreets专门从事地址验证,因此我们的开发人员已经解决了解析问题。您可以签出here。提取程序是一个Web工具,但是您可以使用PHP以编程方式使用它。它至少需要免费订阅。
下面是您从上述虚假电子邮件签名中找到的内容:
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS8zeVFkMS5wbmcifQ==” alt =“来自电子邮件签名的提取器结果”>
(请注意,我在SmartyStreets工作。)
[Google地理编码每天限制为2500。
如果您要解析大量数据,建议使用其他服务。
可以返回与Google类似的格式化地址的cheapest geocoding api为Geocode Farm。他们也有jSON,因此您仍然可以将file_get_contents与json_decode()一起使用。我建议您使用他们的25,000 /天($ 25 / mo)并通过解析将其解析(如果您有大量数据)。如果不止如此,请升级到其他计划。如果您仅需要2500,但将来还会需要更多,我建议您仍然使用它们,因为它们也免费提供2,500,您可以立即将计划升级为在其仪表板中付费的计划。
下载站点:他们没有提供Google所提供的地址组件,而是仅提供了返回/更正的地址...://希望他们将来能添加地址组件。我发现的唯一的东西丢失了。 :(
P.S。要么是Google他们,要么是我将他们的网站链接到上方的“地理编码农场”一词...
P.S.S。对不起,我很晚才回复,但是希望这会帮助寻找此内容的其他人...