我正在尝试从某个位置提取两条信息。
示例位置将是: Hocking Parade,索伦托WA 6020
我试图提取“索伦托”和“6020”。
“Hocking Parade”是一条我不需要的街道,其后面总是会有一个逗号。 “WA”是一个常数。邮政编码是4位数。
编辑:应该澄清日期实际上是格式:
<span>Hocking Parade, Sorrento WA 6020</span>
使用:
preg_match('/^.*, (.*) [A-Z]{2} (\d{4})$/','Hocking Parade, Sorrento WA 6020',$uTitle);
不起作用:
preg_match('/^.*, (.*) [A-Z]{2} (\d{4})$/','<span>Hocking Parade, Sorrento WA 6020</span>',$uTitle);
答案 0 :(得分:1)
这就是你需要的:
$address= "Hocking Parade, Sorrento WA 6020";
preg_match_all(', (.*?) WA (\d{4})/i', $address, $result, PREG_PATTERN_ORDER);
$city = $result[1][0];
$zip = $result[2][0];
欢呼声,
答案 1 :(得分:0)
怎么样:
$str = "<span>Hocking Parade, Sorrento WA 6020</span>";
preg_match('/,\s+(.*)\s+[A-Z]{2}\s+(\d{4})/', $str, $m);
echo $m[1]; // prints Sorrento
echo $m[2]; // prints 6020
答案 2 :(得分:0)
试试这个:
<?
$target = '<span>Hocking Parade, Sorrento WA 6020</span>';
preg_match("/.+?,\s+([^\s]+).+?([^<]+)/", $target, $matched);
echo '<pre>'; print_r($matched); echo '</pre>';
?>
输出:
Array
(
[0] => Hocking Parade, Sorrento WA 6020
[1] => Sorrento
[2] => WA 6020
)