如何匹配精确的字符串?
例如:
“食谱:烤箱-烤绿色豆薯条”
“食谱:培根焗豆”
如果用户搜索“烤豆”(包括引号),则应仅返回第二个结果。 如果用户搜索烤豆(无引号),则应返回两个结果。
如何匹配精确的字符串?
例如:
“食谱:烤箱-烤绿色豆薯条”
“食谱:培根焗豆”
如果用户搜索“烤豆”(包括引号),则应仅返回第二个结果。 如果用户搜索烤豆(无引号),则应返回两个结果。
通过正则表达式测试字符串是否在引号内(如果为1,则用引号引起来),如果是,请删除它们,然后将“搜索部分”拆分为单个单词,并检查每个单词的句子(如果包含)。
如果找到的单词数与搜索到的单词数匹配,则返回句子。
如果您搜索的单词不在引号中,它将以简单的方式检查其是否包含引号,并将其返回。
$word = '\"Beaked Beans\"';
$mystring = "Recipe: Baked Beans with Bacon";
if (preg_match('/^(["\']).*\1$/m',$string) === 1)
{
$words = preg_split('/\s+/',str_replace('"',"",$word));
$matchWordCount = 0;
foreach( $words as $word) {
if (strpos($mystring,$word) !== false) {
$matchWordCount++;
} else {
continue;
}
}
if($matchWordCount === count($words)){
return $mystring;
}
} else {
if (strpos($mystring,$word) !== false) {
return $mystring;
}
}
据我所知,这部充满灵魂的作品是有效的,就像我现在就无法测试一样。