帖子菜单

反馈个bug啊 搜索bug

xiaoma 2020-3-10

搜索中的内容如果你开调试模式搜“[hide”

你就会发现错误

因为系统正则表达式完全无法进行匹配隐藏内容以及数据库内容 希望官方能修改一下


解决方法我直接放出来

原本是:

$v['title'] = preg_replace("/({$key})/is",'<font color="red">$1</font>',$v['title']);
替换成:


if(strpos($v['title'],$key) !== false){

$v['title'] = str_replace($key, '<font color="red">'.$key.'</font>', $v['title']);
}

原本是:

$v['content'] = preg_replace("/({$key})/is",'<font color="red">$1</font>',$v['content']);

替换:

if(strpos($v['content'],$key) !== false){
                $v['content'] = str_replace($key, '<font color="red">'.$key.'</font>', $v['content']);
            }

以上方法就可以解决这个bug

xiaoma

# 1楼 2020-3-10 点评

不管是什么内容 只要你加上[pay 或者[hide [gold 都会出错

xiaoma

# 2楼 2020-3-10 点评

而且搜索中的hide无法隐藏 ,会直接显示付费内容

admin

# 3楼 2020-3-10 点评

调试模式下 确实存在这个问题。

因为搜索内容没有转义 导入的正则搜索  搜索的关键字变成了 正则符号 导致的PHP错误

下个版本会修复该问题

踩 (0)
赞 (1)
查看 (3565)
登陆后才可发表内容