为什么我的" if语句"参数没有正确过滤我的结果?

时间:2016-08-22 09:01:18

标签: php web-scraping simple-html-dom

我可以在结果中清楚地看到其中一个输出结果是" general"。当我尝试在我的" if语句"中过滤掉它时,它无法捕获" general"每次。我的" str_replace"是试图消除可能导致问题的任何空白空间的结果。

代码段:

$tick = 0;
foreach($html->find('select.js-career-select') as $info) {

foreach($info->find('option') as $info2) {
    ++$tick;
    $general = 'general';

    if($tick > 38) {

        $list = $info2;
        $list = strtolower(str_replace(' ', '', $list));

        if($list != $general) {
            echo $list."<br>";
        }
        else {
            echo "NOPE!";
        }
      }
   }
}

1 个答案:

答案 0 :(得分:0)

我怀疑$list之前或之后都有换行符。尝试:

$list = strtolower(trim(strip_tags($list)));

删除文本周围的所有类型的空白,以及文本中的任何HTML标记。

您还可以使用以下标签获取标签中的文字:

$list = $info2->plaintext;