我需要将邮政地址的格式设置为国家/地区的格式,并且正在寻找可以执行此操作的一些 PHP 库。我使用使用 Locale 的 zend framework 2,但不幸的是,目前似乎无法处理这个问题。
examples
NL RECIPIENT
STREET_NAME HOUSE_NUMBER
POSTAL_CODE LOCALITY
COUNTRY
US RECIPIENT
HOUSE_NUMBER STREET_NAME [STREET_TYPE] [STREET_DIRECTION] [BUILDING] [FLOOR] [APARTMENT]
LOCALITY PROVINCE_ABBREVIATION POSTAL_CODE
COUNTRY
UK RECIPIENT
[FLOOR] [APARTMENT]
[BUILDING]
[HOUSE_NUMBER] STREET_NAME
[DEPENDENT_LOCALITY]
LOCALITY
POSTAL_CODE
(来源 http://www.addressdoctor.com/en/countries-data/address-formats.html)
最佳答案
我在制作国际网站时不得不面对同样的问题。
解决方案是打印一个由地址的所有串联部分组成的字符串,并在可能的情况下使用 Google Map API 正确格式化地址。
var g = new google.maps.Geocoder();
function format_address(raw_address) {
g.geocode({address: raw_address}, function (a, status) {
if (status === "OK") {
var splt = a[0].formatted_address.split(new RegExp(",", "g"));
var i = 0;
var res = "";
for(i = 0; i < splt.length-1; i++)
res += $.trim(splt[i]) + '<br/>';
res += $.trim(splt[splt.length-1]);
$('#address').html(res);
}
else if (status == "OVER_QUERY_LIMIT") {
//wait 500ms and try again
}
else {
$('#address').(raw_adress);
}
});
}
关于php - 我应该用什么来格式化地址国家格式的邮政地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13566937/