我讨厌这段代码。它的作用是从 html 页面获取邮政编码,以验证邮政编码是美国还是加拿大。
<?php
$contents = file_get_contents('853755.html');
preg_match_all('/<td id="u_zipCode">(.*?)<\/td>/s', $contents, $matches);
$data = implode("|",$matches[0]);
$string = str_replace(' ', '', $data);
if(preg_match('/^[1-9][0-9]*$/',$string)){
echo "Canada";
}
else
{
echo "USA";
}
?>
我非常努力地寻找解决方案。但我找不到解决方案。我什至尝试了它应该只包含数字而不是单个字母的正则表达式。但这似乎没有任何作用。邮政编码以这种格式给出,
USA: 97365
USA: 97365-97366
Canada: j8n7s1
Canada: N2L5Y6
请帮我解决这个问题。谢谢