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