我有兩個字符串「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