PHP strstr差异问题

时间:2012-06-09 19:09:04

标签: php scripting strstr

所以目前我有一个问题。我有这段代码来查看另一个短语中是否存在短语:

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

例如,如果:

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

在上面的例子中,代码会检测到短语“arctic”在短语“arctic white”中,尽管我想要的是检测它是否在单词内部而不仅仅是短语。

例如:if:

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

在这种情况下,脚本不会在“antarctica”中检测到“arctic”这个词,尽管它是。所以我想知道,如何编辑if(strstr($matches[1], $query))以便检测所有包含$ query内容的单词?请帮忙!

2 个答案:

答案 0 :(得分:2)

您可以使用preg_match()获得更好的结果。 preg_match不包含正则表达式。它可以完全满足您的需求。即:

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

btw,小“i”表示区分大小写,请查看PHP手册以获取更多示例:http://php.net/manual/en/function.preg-match.php

答案 1 :(得分:0)

使用strpos()

示例:

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

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

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

else
{
echo "found";
}