使用PHP(或Perl)按国家/地区格式化送货地址

时间:2012-11-18 07:58:48

标签: php perl street-address

我有一个HTML表单,其中包含部分输入送货地址(街道地址,城市,州/省,邮政编码和国家/地区)。然后使用PHP处理此表单。

我想将此地址转换为目标国家/地区的正确格式。我可以使用任何库或外部服务在PHP中进行此转换吗?如果没有,我可以使用Perl或类似的语言吗?

3 个答案:

答案 0 :(得分:3)

从未使用它,但Geo::PostalAddress是一个很好的起点。如果没有别的话,有用的链接到法规。

请注意,各种航运公司(联邦快递,DHL等)都有自己的地址格式规则。

答案 1 :(得分:1)

在Perl中,您可以使用Class::Phrasebook。使用它非常容易。

use Class::Phrasebook;
my $pb = new Class::Phrasebook($log, "test.xml");
$pb->load("NL"); # using Dutch as the language
$phrase = $pb->get("ADDRESS", 
                   { street => "Chaim Levanon",
                     number => 88,
                     city   => "Tel Aviv" } );

现在,在您的情况下,送货地址将是动态的(将由用户提供),因此您将不得不做更多的工作。您可以创建XML文件,为所有国家/地区添加词典,在每个词典中添加短语(街道地址,城市,州/省,邮政编码)。在每个短语中写下国家特定数据,如英语词典的“街道地址:$ street”,法语词典等的“adresse:$ street”。然后根据用户的国家/地区访问字典。

CPAN的更多信息。

答案 2 :(得分:0)

我已经考虑过这个问题了,我已经决定为每个国家/地区列出一个包含地址模板的文件/数据库对我来说是最好的解决方案。

但是,我确信所提供的其他解决方案也可以。