Preg_match匹配电话号码

时间:2013-01-10 03:02:00

标签: php preg-match

我有一个csv文件,里面有大约2000个网站,我有一个脚本工作,每个网站的file_get_contents,并查找电话号码。

我的preg比赛不起作用!! ?? 我需要找到确切的数字字符串800-885-7505

我试过了:

preg_match('/^800-885-7505$/', $page, $matches);

但没有工作....谁能告诉我为什么? 谢谢!

我试过了:

<?
$file = fopen('file.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
  //$line is an array of the csv elements
  $page = file_get_contents("http://www.".$line[0]);
 preg_match('/800-885-7505/', $page, $matches);
 echo "http://www.".$line[0]." = ".$matches[1] . "<br><br>";
}
fclose($file);
?>

这个DID工作,我有相同的脚本来查找页面上的iframe,并且效果很好:

<?
$file = fopen('file.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
  //$line is an array of the csv elements
  $page = file_get_contents("http://www.".$line[0]);
  preg_match('/<iframe.*src=\"(.*)\".*><\/iframe>/isU', $page, $matches);
  if (($matches[1]!=="http://www.url.com/lmapp.html") && ($matches[1]!=="http://www.url.com/mc_NewApp2.html"))
  {echo "http://www.".$line[0]." = ".$matches[1] . "<br><br>";}
}
fclose($file);
?>

所以我认为我所需要做的就是获得正确的电话号码预匹配

1 个答案:

答案 0 :(得分:1)

您可以使用:

preg_match('/800-885-7505/', $page, $matches);

或更快:

if ( strpos('800-885-7505',$page) !== false )