php代码:
foreach ($html->find('table') as $noscript) {echo $data;
echo $data;
echo $noscript->innertext . "<br>";
}
现在我需要将此中的每个字符串与“google”进行比较,它可以是“GOOGLE”或“Google”,这里的情况无关紧要。
但我如何检查$noscript->innertext
并回复$data;
以获取“google”
我无法想到实现这一目标的方法。请提供一些代码示例。
代码我试过
foreach ($html->find('table') as $noscript) {
//if (strstr(strtolower($data)||strtolower($noscript->innertext), "google"))
if (preg_match('/google/i', $data || $noscript->innertext)) {
echo "This is Google";
$real = 1;
}
echo $data;
echo $noscript->innertext . "<br>";
}
第二次尝试:
if (strstr(strtolower($data)||strtolower($noscript->innertext), "google"))
两者都不起作用。
答案 0 :(得分:4)
if(stristr($data,'google') || stristr($noscript->innertext,'google'))
{
echo "This is Google";
}
答案 1 :(得分:2)
您可能正在寻找一种称为正则表达式的东西:
§hasGoogle = preg_match('~goo+gle~i', $text);
这是他们自己的语言来描述字符串。您可以在上面(doucmented in the PHP manual)和互联网上找到它们preg_match
。也许读一本关于它们的书很好,这也是它自己的语言。
请注意这个表达式:
$data || $noscript->innertext
将在PHP中为FALSE
或TRUE
,但不是您的想法(字符串)。在PHP中没有这样的快捷方式,因此您需要编写更多代码。
答案 2 :(得分:0)
foreach ($html->find('table') as $noscript) {
if(preg_match("/^google/i", $noscript->innertext) || preg_match("/^google/i", $data)) {
echo $data;
}
echo $noscript->innertext . "<br>";
}