有没有人有一个PHP类,或正则表达式来解析组件的地址?至少,它应该分解成这些组件:街道信息,州,邮编,国家解析一个Steet地址到组件
回答
图书馆/语言不可知的解决方案将使用谷歌的地理编码器。它可以返回有关给定地址的详细分解信息。
http://code.google.com/apis/maps/documentation/services.html#Geocoding_Structured
这是很酷的软件,但似乎并没有做什么提问者想要的。它不是给用户地址的组件,而是将地址标准化。有用,但没有问到什么。 – mooreds 2011-03-22 16:22:49
编辑:如果你的数据是所有格式非常类似于使用这只是作为一个例子。正如Strager指出的那样,在大多数情况下,为了有效地使用正则表达式,数据会有太大的变化。
假定你输入的格式为:
[Street Name], [State], [ZIP], [Country]
此正则表达式将这样的伎俩:
m/^(.+?),(.+?),([0-9]+),(.+)$/
不过正则表达式是相当复杂的......如果你要使用这个对于任何重要的事情,我会建议花时间学习正则表达式。我一直觉得这个小抄非常有用:
http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/
下面是解析街道地址的Python version using pyparsing。这不是PHP,但可能会让您对问题的复杂性有所了解。
问题是地址本身有各种形状和大小,它们不是自我验证的实体。这意味着如果没有手工检查地址(甚至可能容易出错)或使用某种地址验证软件(无论是基于桌面的软件还是联机的),您都无法真正知道自己是否做得正确。
有许多地址验证Web服务可以接收地址并将其分解为其组成部分,并在结果经过认证有效的情况下以安全的方式进行。
我应该提到我是SmartyStreets的创始人。我们确实解决了验证问题,其中包括您针对美国地址询问的功能。我们的旗舰产品是LiveAddress,它是一个address verification web service API。
与SmartyStreets商业广告的声音一样好,请注意 - 这仅适用于美国。 – 2014-01-13 10:50:29
在我们的主页上正确的是我们说的“USPS地址验证”。 这是我们的FAQ页面看: http://smartystreets.com/kb/faq/do-you-verify-international-addresses 下面是谷歌的搜索结果,我们对“美”的网站时 https://开头www.google.com/search?q=site%3Asmartystreets.com+united+states – 2014-01-13 13:36:17
够公平的,删除了我对disqus的评论,但论点仍然认为,由于这个限制,SStreets只是局部解决一般问题地址验证提出了这个问题。 – 2014-01-13 14:39:37
- 1. 地址解析
- 2. 用T-SQL解析一个地址
- 3. 地址解析一个目录
- 4. 带地址的Google地址解析返回一个结果
- 5. 解析一个'全名'字符串到一个电子邮件地址
- 6. SQL地址解析
- 7. 宏解析地址
- 8. Excel:解析地址
- 9. 解析IPv6地址
- 10. python:一个预先存在的函数来解析一个电子邮件地址到一个三元组?
- 11. 将IPv6回送地址解析到Uri
- 12. awk从maillog解析唯一IP地址
- 13. python解析文件的IP地址
- 14. 解析TextView的电子邮件地址
- 15. 如何解析的jQuery插件地址
- 16. 解析电子邮件地址
- 17. 用PHP解析电子邮件地址?
- 18. 如何将地址解析器地址获取到支持bean?
- 19. 从url解析ipv6地址
- 20. 用Ruby解析地址
- 21. 简单地址解析器
- 22. 如何解析IP地址?
- 23. 解析数字地址
- 24. CMD解析http地址
- 25. sed和解析MAC地址
- 26. 导轨地址解析器中的多个地址问题
- 27. 如何批处理从csv文件到R的地址解析街道地址?
- 28. 如何使两个数组列表地址解析Android中
- 29. 解析JSON数据到一个数组
- 30. 解析字符串到一个数组
+1看起来像一个很好的资源。但请记住,它可能允许解析部分地址,例如,如果您只给出国家和州,那么对于这种部分信息可能没问题,而如果您正在构建需要的应用程序要使用邮寄地址,那种开放式的补贴可能会让你感到厌烦。*耸耸肩* – Kzqai 2009-11-16 21:43:53
难道你不能只是验证解析的结果吗?也就是说,如果你不介意可能会触及谷歌。 – 2009-11-17 06:16:46