关于搜索英文关键词大小写匹配飘红的问题

 

关于搜索英文关键词大小写匹配飘红的问题

   2017-08-09 destoon之家一切归零666

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之家出品!

反对 0举报 0 收藏 0 打赏 0
免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
关于作者
avatar
xiaoily520
邵龑
文章
60
粉丝
2
推荐标签
0
0收藏
打赏
手机版