php - 我应该用什么来格式化地址国家格式的邮政地址

标签 php string-formatting zend-framework2 street-address

我需要将邮政地址的格式设置为国家/地区的格式,并且正在寻找可以执行此操作的一些 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/

相关文章:

wpf - 如果数据为空,如何隐藏字符串格式

php - Doctrine2 原生查询不支持自定义类型

javascript - Morris 图表和 PHP 问题

像 C++ std::endl 这样的 Python 换行常量

php - 如何将php,nodejs和mysql应用程序部署到IBM Cloud

c++ - 当我可以使用换行符时,为什么要使用 endl?

php - Zend 2 : How to throw a 404 error from controller

css - Zend框架2 : adding custom attribute in favicon icon

PHP 用变量声明类

php - 如何在 PHP 中使用 getElementById