destoon默认搜索英文关键词的时候,是不会匹配大小写飘红的,也就是说如果你搜索Dtjia,那么dtjia是不会有飘红的,怎么办呢?我们可以修改搜索飘红的代码,使用正则替换的方式进行飘红。具体知

Destoon默认搜索英文关键词的时候,是不会匹配大小写飘红的,也就是说如果你搜索Dtjia,那么dtjia是不会有飘红的,怎么办呢?

我们可以修改搜索飘红的代码,使用正则替换的方式进行飘红。

具体知识点

正则匹配的/u /i /s是什么意思

/u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字)

/i 表示不区分大小写(如果表达式里面有 a, 那么 A 也是匹配对象)

/s 表示将字符串视为单行来匹配


好了,直接上代码:比如标题飘红

以供应模块为例

module/sell/search.inc.php 找到

if($kw) $r['title'] = str_replace($replacef, $replacet, $r['title']);

替换为

if($kw) $r['title'] = preg_replace("/($kw)/i","\\1",$r['title']);

OK 测试下 是不是成功了

其他字段也一样!

本教程destoon之家出品!