为什么我的 "if statement" 参数没有正确过滤我的结果?
Why are my "if statement" parameters not filtering my results properly?
我在我的结果中可以清楚的看到其中一个输出结果是"general"。当我尝试在我的 "if statement" 中过滤掉它时,它每次都无法捕捉到 "general"。我的 "str_replace" 试图消除可能导致问题的任何空白色 space 的结果。
代码片段:
$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!";
}
}
}
}
我怀疑 $list
前后有换行符。尝试:
$list = strtolower(trim(strip_tags($list)));
删除文本周围的所有类型的空白,以及文本中的所有 HTML 标记。
您也可以只从标签中获取文本:
$list = $info2->plaintext;
我在我的结果中可以清楚的看到其中一个输出结果是"general"。当我尝试在我的 "if statement" 中过滤掉它时,它每次都无法捕捉到 "general"。我的 "str_replace" 试图消除可能导致问题的任何空白色 space 的结果。
代码片段:
$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!";
}
}
}
}
我怀疑 $list
前后有换行符。尝试:
$list = strtolower(trim(strip_tags($list)));
删除文本周围的所有类型的空白,以及文本中的所有 HTML 标记。
您也可以只从标签中获取文本:
$list = $info2->plaintext;