我正在为我的数据库中的游戏标题做搜索引擎,我有一些问题。
首先,这是关于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 :(得分:2)
您是否正在寻找区分大小写的替代品?请看str_ireplace。
答案 1 :(得分:1)
我不确定你想做什么,但要匹配大写或小写的abc
的任意组合,并将其加粗,你可以这样做:
$data = "testABC";
echo preg_replace("/(abc)/i","<bold>$1</bold>",$data);