0

だから現在私は問題を抱えています。フレーズが別のフレーズに存在するかどうかを確認するために、このコードスニペットがあります。

if(strstr($matches[1], $query))

したがって、たとえば次の場合:

$matches[1] = "arctic white"
$query = "arctic"

上記の場合、コードは「arctic」というフレーズが「arctic white」というフレーズに含まれていることを検出しますが、私が欲しいのは、フレーズだけでなく単語の中にあるかどうかも検出することです。

たとえば、次の場合です。

$matches[1] = "antarctica"
$query = "arctic"

その場合、スクリプトは「南極」の「北極」という単語を検出しませんが、検出します。だから私は疑問に思っif(strstr($matches[1], $query))ていました、$ queryコンテンツを含むすべての単語を検出するように編集するにはどうすればよいですか?助けてください!

4

2 に答える 2

2

preg_match()を使用すると、より良い結果が得られます。preg_matchには、正規表現のみが含まれていません。それはあなたが必要とすることを正確に行うことができます。すなわち:

if (preg_match("/arctic/i", "antarctica")) {
    // it is there do something
} else {
    // it is not there do something else
}

ところで、小さな「i」は大文字と小文字の区別を意味します。その他の例については、PHPマニュアルを確認してください:http://php.net/manual/en/function.preg-match.php

于 2012-06-09T19:23:50.803 に答える
0

使用するstrpos()

例:

$word = "antarctica";
$find = "arctic";

$i = strpos($word, $find);

if($i === false)
{
echo "not found";
}

else
{
echo "found";
}
于 2012-06-09T19:18:24.160 に答える