Php strstr()可以用于在一个句子中查找两个独立的关键字吗?

Php strstr()可以用于在一个句子中查找两个独立的关键字吗?,php,Php,strstr()可以用于在一个句子中查找两个独立的关键字吗 例: 这取决于你用它做什么。从外观上看,您应该使用strpos,而不是strstr是的,它可以。。。关于的脚本将返回YES。。总是因为strstr用于查找字符串的第一次出现及其独立于其他声明的工作方式。。它能够在两个不同的首次出现实例中找到brown和fox 它们是如何工作的 strstr($sentence, 'brown') // Returns 'brown fox' strstr($sentence, 'fox') // Re

strstr()可以用于在一个句子中查找两个独立的关键字吗

例:


这取决于你用它做什么。从外观上看,您应该使用
strpos
,而不是
strstr

是的,它可以。。。关于的脚本将返回
YES
。。总是因为
strstr
用于查找字符串的第一次出现及其独立于其他声明的工作方式。。它能够在两个不同的首次出现实例中找到
brown
fox

它们是如何工作的

strstr($sentence, 'brown') // Returns 'brown fox' 
strstr($sentence, 'fox') // Returns 'fox' 
两个结果都是有效字符串

如果你尝试

var_dump(strstr($sentence, 'fish')); // Returns false 
现在,这不是检查字符串的有效方法,但它有自己的用途

文件:

编辑1

$sentence = 'the quick brown fox';
$keywords = array (
        'brown',
        'fox' 
);

echo "<pre>";
所有这些都将根据您的用例而工作

strpos()
-查找astring中第一个出现的子字符串的位置

stripos()
-查找字符串中第一个不区分大小写的子字符串的位置

strrpos()
-查找子字符串在字符串中最后一次出现的位置

strrchr()
-查找字符串中最后出现的字符

范例

if (strpos ( $sentence, $keywords [0] ) || strpos ( $sentence, $keywords [1] )) {
    echo "strpos brown OR fox " . PHP_EOL;
}

if (strripos ( $sentence, $keywords [0] ) && strpos ( $sentence, $keywords [1] )) {
    echo "strpos brown AND fox " . PHP_EOL;
}

我希望这有帮助

我一直在使用stristr()(我正在阅读的书建议使用它来定位字符串中的字符串)。它可以很好地定位一个术语的出现,但我不确定它是否可以定位多个术语。这是一个蜘蛛。这两个术语出现在同一个页面上并不常见,唯一确定的方法是手动查找页面,然后对其进行测试(这将花费很长时间:'(lol)。你能推荐一个更好的方法吗?我对PHP还是相当陌生,所以我有点依赖于我所阅读的内容(事实证明,这并不总是最好的方法:(lol)lol..好的,我会用一些方法更新我的答案,但这取决于你的用例它肯定会的。谢谢你!:-D
$regex = '/(' . implode ( '|', $keywords ) . ')/i';

if (preg_match ( $regex, $sentence )) // Seach brown or fox
{
    echo "preg_match brown or fox" . PHP_EOL;
}
if (strpos ( $sentence, $keywords [0] ) || strpos ( $sentence, $keywords [1] )) {
    echo "strpos brown OR fox " . PHP_EOL;
}

if (strripos ( $sentence, $keywords [0] ) && strpos ( $sentence, $keywords [1] )) {
    echo "strpos brown AND fox " . PHP_EOL;
}