如何从地址字符串中提取城市州的邮政编码?

时间:2019-03-26 11:45:14

标签: php jquery string

我正在尝试从数据字符串中提取城市,州,邮政编码并将其插入数据库的相应列中。

数据字符串,例如:“ Ventures / Beistle 1 Beistle Plaza Shippensburg,PA 17257”。

为我提供正确的解决方案,以解决该问题。

我已经尝试使用以下代码: 得到结果:PA 17257

$string = "Ventures/Beistle 1 Beistle Plaza Shippensburg, PA 17257";

function extract_zipcode($string) {
  $zipcode = preg_match("/\b[A-Z]{2}\s+\d{5}(-\d{4})?\b/", $string, $matches);

  return $matches[0];

}

echo extract_zipcode($string) . ' ';

我希望输出如下:

Array ( ['city'] => Ventures/Beistle ['state'] => 1 Beistle Plaza  [country] => Shippensburg ['zipcode'] => PA 17257 )

1 个答案:

答案 0 :(得分:0)

用j查询简化,例如:

 var my_addr_select  = 'Ventures/Beistle 1 Beistle Plaza Shippensburg, PA 17257';
    var a = my_addr_select.split(',');
            var b = [];
            var c = [];
            for (var i = 0;i<a.length; i++) {
                if(i == 0){
                    b = a[i].split('/');
                    for (var k = 0;k<b.length; k++) {
                        if(k == 1){
                        c[1] = b[k].split(' '); 
                        var addressname = c;
                        }else{
                        c[0] = b[k];
                        var user_a = c;
                        }
                        var otheraddress = c;
                    }
                }else{
                    c[2] =  a[i].split(' ');
                }
            }
            console.log(c);
            var addressFinalArray = [] ;
            for (var l =0 ;l<c.length; l++) {
                if(jQuery.isArray(c[l])){
                    var shipArray  = c[l];
                    for(m = 0;m<shipArray.length; m++){
                        addressFinalArray =addressFinalArray.concat(shipArray[m]);
                    }
                }else{
                    addressFinalArray = addressFinalArray.concat(c[l]);
                }
            }
            console.log(addressFinalArray);

第一个控制台的输出是:

["Ventures", Array(5), Array(3)]

和第二个控制台(多维数组):

["Ventures", "Beistle", "1", "Beistle", "Plaza", "Shippensburg", "", "PA", "17257"]

因此将以上结果用于我的要求。