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 不仅仅包含正则表达式。它可以完全满足您的需求。IE:

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 回答