1

php代码:

foreach ($html->find('table') as $noscript) {echo $data;
        echo $data;
        echo $noscript->innertext . "<br>";
    }

现在我需要将其中的每个字符串与 "google" 进行比较,它可以是 "GOOGLE" 或 "Google" 之类的任何东西,这里大小写无关紧要。

但是我如何检查 $noscript->innertext和回显$data;“谷歌”

我想不出一种方法来实现这一点。请给我一些代码示例。

我试过的代码

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"))

两者都不起作用。

4

3 回答 3

4
if(stristr($data,'google') || stristr($noscript->innertext,'google'))
{
    echo "This is Google";
}
于 2012-05-05T15:59:24.357 回答
2

您可能正在寻找一种叫做正则表达式的东西:

§hasGoogle = preg_match('~goo+gle~i', $text);

那是他们自己描述字符串的语言。您可以在上面 ( ) 和 Internet 上的该函数的 PHP 手册中找到它们。preg_match也许最好读一本关于它们的书,因为这是它自己的语言。

注意这个表达式:

$data || $noscript->innertext

要么是PHP,FALSE要么是TRUEPHP,但不是你想的那样(一个字符串)。PHP 中没有这样的捷径,因此您需要编写更多代码。

于 2012-05-05T15:53:01.873 回答
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>";
}
于 2012-05-05T15:52:36.220 回答