2011-12-17 58 views
0

我正在爲我的數據庫中的遊戲標題做搜索引擎,我遇到了一些問題。替換函數的問題

首先,這裏對DB的外觀:

ID TITLE 
1  aaB 
2  abc 
3  ABC 
4  AbdedABc 
5  deff 

接下來,我在做這個查詢:

SELECT g.title FROM game g WHERE g.title LIKE '%abc%' 

所有我想要做的,是打印出所有類似的標題(以大膽的匹配):

abc // match 
ABC // match 
Abded ABc // match last part, space added for clarity 

現在,我的腳本返回此:

str_replace('abc', '<b>abc</b>', $row['title']) 

abc // matches 
ABC 
AbdedABc 

有人知道任何算法(或其他方式)不改變字母大寫/小寫?

+0

'$ match'是什麼? – 2011-12-17 15:13:49

+0

對不起,我的壞。帖子編輯 – 2011-12-17 15:25:21

回答

1

我不知道你wan't做,但在大寫或小寫的abc任意組合搭配,使之大膽,你可以做這樣的:

$data = "testABC"; 
echo preg_replace("/(abc)/i","<bold>$1</bold>",$data); 
+0

我認爲大膽的部分與OP如何問這個問題有關,而不是他們想要做什麼。 – 2011-12-17 15:22:14

2

你正在尋找的情況下, - 敏感替換呢?看看str_ireplace

+0

http://codepad.org/PdSsxLFc – 2011-12-17 15:16:11