循环返回所有匹配

时间:2011-05-05 01:04:46

标签: php loops foreach

使用以下代码我匹配一个9位数的字符串。我成功地在不使用循环的情况下返回第一个实例,但我希望看一下整个页面并返回每个9位数字符串,到目前为止它没有这样做。它只返回NULL

$source = file_get_contents($url);
preg_match('/cd=([0-9]{9})/', $source, $match);

foreach ($match[1] as $output)
{
    echo $output;
}

1 个答案:

答案 0 :(得分:2)

使用preg_match_all

来自preg_match documentation

  

preg_match()返回模式匹配的次数。这将是0次(不匹配)或1次,因为 preg_match()将在第一次匹配后停止搜索。相反,preg_match_all()将持续到主题结束。如果发生错误, preg_match()会返回 FALSE

$match数组可能看起来不同,因此您必须调整循环。