打破一个foreach循环

时间:2014-01-16 07:19:06

标签: php web-scraping

我无法摆脱foreach循环。我认为结构是正确的,代码还有其他问题。请让我知道问题是什么(不仅仅是一个工作代码)我想从错误中吸取教训。感谢

我正在使用简单的html dom来截断某些信息,我希望在条件匹配时循环中断。这是我的代码:

<?php
$mainjob = file_get_html('link to scrap here');
$newarr = array();
foreach($mainjob->find('td[valign=middle]') as $d) {
    $data = $d->innertext;
    $newarr[] = $data;
    echo $data . "<br>";
    if($data == "Job Opportunity Description:") {
        break;
    }

}
print_r($newarr);

2 个答案:

答案 0 :(得分:0)

1)我猜你的$ data ==“工作机会描述:”条件不成立,所以它没有调用中断;

2)将$ mainjob-&gt; find('td [valign = middle]')置于循环条件之外,因此每次迭代都不会调用它:

$tds = $mainjob->find('td[valign=middle]');
foreach($td as $d){}

3)为什么要在$ newarr变量中添加括号?

4)也许您的$ data字符串仍然包含html标记(由于您的浏览器而不会显示回显..因此条件将返回false。

答案 1 :(得分:0)

问题出在白色空间我使用trim()来修剪掉白色空间并且它有效。我推荐Ayman Safadi的答案。感谢。