我正在使用此处的示例检查字符串中的多个单词。但是,我不确定如何显示字符串中找到的单词和未找到的单词。任何想法如何实现这一目标。我正在使用的代码如下所示。anubhava$bad_words = array("yo","hi");$sentence = "yo you your";preg_match_all('/\w+/', $sentence, $m);echo ( array_diff ( $m[0], $bad_words ) === $m[0] ) ? "no bad words found\n" : "bad words found\n";
1 回答
jeck猫
TA贡献1909条经验 获得超7个赞
首先,您需要定义此上下文中的单词是什么。例如,“煎饼”是一个词还是两个词?如果你搜索“平底锅”,如果找到“煎饼”,它应该返回真吗?另外,“人工智能”是一个词吗?“2020”是一个词吗?“快速通道”呢?搜索是否应区分大小写?它是否应该包括部分发现?如果你只是想要一个简单的,针/大海捞针搜索,那么解决方案是微不足道的。strpos
$searchWords = ["yo","hi"];
$sentence = "yo you your";
$wordsFound = [];
foreach ($searchWords as $word) {
if (stripos($sentence, $word) !== false) {
$wordsFound[$word] = true;
}
}
echo "Words found: ", implode(",", array_keys($wordsFound)); // Words found: yo
要找到在 中找不到的单词,只需执行 .$searchWords$wordsNotFound = array_diff($searchWords, array_keys($wordsFound))
- 1 回答
- 0 关注
- 154 浏览
添加回答
举报
0/150
提交
取消
