【发布时间】:2017-12-17 17:08:52
【问题描述】:
我想搜索两个或更多单词,但无法匹配确切的单词。
如果我使用 stripos() 之类的其他功能,我将无法获得所需的输出。
$string = "abc india ltd";
$Arr = array('xyz ab','abc india', 'pqr', 'yz lmn');
$Arr = implode('',$Arr);
if (preg_match_all("/$string/", $Arr)) {
echo '<b>'.'found'.'<font color="green">'.$string.'</font>'.'</b>';
}
或(两者相同,但要避免在循环中使用)
$string = "abc india ltd";
$Arr = array('xyz ab','abc india', 'pqr', 'yz lmn');
foreach ($Arr as $value) {
if (preg_match_all("/$string/", $value)) {
echo '<b>'.'found '.'<font color="green">'.$string.'</font>'.'</b>';
}
}
【问题讨论】:
-
请尝试详细说明您实际想要什么。根据此输入数据,您想要的结果是什么。请说清楚,否则没人能回答。
-
如果数组中有两个确切的单词..i 应该得到找到的输出。但没有一个词匹配,例如 xyz india 不应该匹配
-
Yabes Nadar 请在下面检查我的答案,并用所有可能的案例对其进行测试,如果它适用于所有案例,则将其标记+投票作为可接受的答案。谢谢
-
您将参数放错了
preg_match_all函数。第一个是正则表达式(您将$string放入模式中),然后是输入(您有$value),第三个是结果数组var。可能还有更多,但这些是最重要的。如果您有$string = "abc,india ltd";,则接受的解决方案将不起作用。
标签: php string-comparison string-matching