我有两个字符串“Mures”和“Maramures”。我如何建立一个搜索功能,当有人搜索Mures时,它将只返回包含“Mures”单词的帖子,而不是包含“Maramures”单词的帖子。我尝试了strstr直到现在,但它现在可以工作。查找字符串中的确切字符串
1
A
回答
11
你可以用正则表达式做到这一点,并\b
字边界周围的字
preg_match("~\bMures\b~",$string)
例如:
$string = 'Maramures';
if (preg_match("~\bMures\b~",$string))
echo "matched";
else
echo "no match";
+0
谢谢,我会试试看 – 2013-04-29 16:46:06
1
你如何检查strstr的结果?这里试试这个:
$string = 'Maramures';
$search = 'Mures';
$contains = strstr(strtolower($string), strtolower($search)) !== false;
0
也许这是一个愚蠢的解决方案,还有更好的解决方案。但是您可以在字符串的开始和结束处为源字符串和目标字符串添加空格,然后搜索“Mures”。易于实现,无需使用任何其他功能:)
4
使用的preg_match功能
if (preg_match("/\bMures\b/i", $string)) {
echo "OK.";
} else {
echo "KO.";
}
0
你可以做各种事情:
- 搜索 '穆列什'(约空格)
- 搜索区分大小写(所以'maures'会在'Maramures'中找到,但'Mures'不会)
- 使用正则表达式在字符串中搜索('字边界+ Mures +字b oundary') - 这也看看:Php find string with regex
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
虽然。
相关问题
- 1. 检查确切的子字符串是否在字符串中
- 2. 查找字符串中的字符串
- 3. 查找字符串中的字符串
- 4. 查找字符串中的字符串
- 5. 查找字符串中子字符串的确切位置SQL SERVER 2008
- 6. 如何使用javascript在字符串中查找确切的子字符串
- 7. 在字符串中查找字符串
- 8. 在字符串中查找字符串
- 9. 查找字符串切片串片
- 10. 找到确切的字符串匹配++
- 11. 在php中查找子字符串或精确字符串
- 12. 确切的SQL查询字符串
- 13. 在字符串中剪切字符串
- 14. 查找字符串中的字符
- 15. 在输入字符串中查找字符串中的子串
- 16. 正则表达式查找字符串中的字符串中的字符串
- 17. 查找字符串中的
- 18. 查找字符串
- 19. 查找字符串
- 20. 查找字符串
- 21. 查找字符串
- 22. 查找字符串
- 23. 查找字符串
- 24. 查找字符串
- 25. 查找字符串
- 26. 查找字符串
- 27. 查找字符串
- 28. 查找字符串
- 29. 查找字符串
- 30. 查找字符串
你试过了什么? – underscore 2013-04-29 16:40:45
是否区分大小写? 'Mures'和'Mures'是否一样? – brbcoding 2013-04-29 16:41:25
您将不得不编写代码来创建搜索功能。 http://php.net – Ejaz 2013-04-29 16:42:21