我有两个字符串“Mures”和“Maramures”。我如何建立一个搜索功能,当有人搜索Mures时,它只返回包含“Mures”字样的帖子,而不是包含“Maramures”字样的帖子。我试过strstr直到现在,但现在确实有效。
答案 0 :(得分:14)
您可以使用正则表达式执行此操作,并使用\b
字边界
preg_match("~\bMures\b~",$string)
示例:强>
$string = 'Maramures';
if ( preg_match("~\bMures\b~",$string) )
echo "matched";
else
echo "no match";
答案 1 :(得分:5)
使用preg_match函数
if (preg_match("/\bMures\b/i", $string)) {
echo "OK.";
} else {
echo "KO.";
}
答案 2 :(得分:1)
你如何检查strstr的结果?试试这里:
$string = 'Maramures';
$search = 'Mures';
$contains = strstr(strtolower($string), strtolower($search)) !== false;
答案 3 :(得分:0)
也许这是一个愚蠢的解决方案而且有一个更好的解决方案。但是您可以在字符串的开头和结尾处为源和目标字符串添加空格,然后搜索“Mures”。易于实施,无需使用任何其他功能:)
答案 4 :(得分:0)
你可以做各种事情:
答案 5 :(得分:0)
function containsString($needle, $tag_array){
foreach($tag_array as $tag){
if(strpos($tag,$needle) !== False){
echo $tag . " contains the string " . $needle . "<br />";
} else {
echo $tag . " does not contain the string " . $needle;
}
}
}
$tag_array = ['Mures','Maramures'];
$needle = 'Mures';
containsString($needle, $tag_array);
这样的功能可行......尽管不如preg_match
那么性感。
答案 6 :(得分:0)
非常简单的方法应与此类似。
$stirng = 'Mures';
if (preg_match("/$string/", $text)) {
// Matched
} else {
// Not matched
}