2011-12-17 77 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