替换功能的问题

时间:2011-12-17 15:01:39

标签: php replace

我正在为我的数据库中的游戏标题做搜索引擎,我有一些问题。

首先,这是关于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

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

2 个答案:

答案 0 :(得分:2)

您是否正在寻找区分大小写的替代品?请看str_ireplace

答案 1 :(得分:1)

我不确定你想做什么,但要匹配大写或小写的abc的任意组合,并将其加粗,你可以这样做:

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