我正在尝试从数据字符串中提取城市,州,邮政编码并将其插入数据库的相应列中。
数据字符串,例如:“ 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 )
答案 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"]
因此将以上结果用于我的要求。