1

PHP コード:

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

ここで、これのすべての文字列を「google」と比較する必要があります。「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>";
    }

2 回目の試行:

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

それは、文字列を記述するための独自の言語です。上記の関数の PHP マニュアルpreg_match( ) およびインターネットで文書化されています。おそらく、それらについての本を読むのは良いことであり、これは独自の言語です.

この式は次のことに注意してください。

$data || $noscript->innertext

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 に答える