搜索插件在搜索的时候 输入 字母 比如 “奇狐 a b c d” 字母中间加空格会出现很多字母不知道怎么回事 ,我自己在本地安装的新环境 没有装编辑器是纯文本 也会出现同样的问题,还有老哥能不能把用户名也支持模糊跟精确搜索啊!有时间研究一下!
下面图片 $pagesize = $conf["pagesize"]; 实测有效可以跟随主题列表的列数 改变而改变感觉还不错啊
本文发布于奇狐网,转载请注明出处,谢谢合作。
上一篇:xiuno有办法禁止上传本地图片和附件吗
下一篇:测试个视频
style 发表于 2022-10-26 17:40大佬有时间研究下看能不能解决
研究了下但是搞不懂什么问题 ,只要关键词里带这个函数里面的 HTML代码 就会出现上面的问题 如 "奇狐 span" 或者 "奇狐 class" 等等...以此类推
删除里面的HTML 不会出现上面的情况 但是无法高亮了显示了!!
function search_keyword_highlight($s, $keyword_arr) { foreach($keyword_arr as $keyword) { $s = str_ireplace($keyword, "<span class="text-danger">".$keyword."</span>", $s); } return $s; }
凨影 发表于 2022-10-22 16:33你先搞懂关键词以空格分割的含义再说吧
凨影 发表于 2022-10-26 19:32首先是空格分割的关键词,你用“奇狐 span”做为关键词搜索,那么分割后关键词就是“奇狐”和“span”,高亮替换的时候,当然的是奇狐和span都会被高亮替换显示出来好吧。关键词高亮前后标签是sp ...
你说的是这个意思?
oliolo 发表于 2022-11-09 12:59你说的是这个意思?
function search_keyword_highlight($s, $keyword_arr){ foreach($keyword_arr as $keyword){ $s = str_ireplace($keyword, "<span class="text-danger">".$keyword."</span>", $s); } return $s; }
是多个关键词 涉及到上面函数里的 html <span class="text-danger">".$keyword."</span>" 标签就会乱
style 发表于 2022-11-09 14:41function search_keyword_highlight($s, $keyword_arr) { foreach($keyword_arr as $keyword) { $s = ...
更新下代码试试
function search_keyword_highlight($s, $keyword_arr){ foreach($keyword_arr as $key => $keyword){ if($key >= 1){ $chunks = preg_split("/(<span.*?\/span>)/ms", $s, -1, PREG_SPLIT_DELIM_CAPTURE); foreach($chunks as $c){ if(strpos($c, "<span") !== 0){ $tmp = $c; $c = str_ireplace($keyword, "<span class="text-danger">".$keyword."</span>", $c); $s = str_ireplace($tmp, $c, $s); } } }else{ $s = str_ireplace($keyword, "<span class="text-danger">".$keyword."</span>", $s); } } return $s; }
oliolo 发表于 2022-11-09 16:18更新下代码试试function search_keyword_highlight($s, $keyword_arr) {foreach($keyword_arr as $key = ...
凨影 发表于 2022-10-26 19:32首先是空格分割的关键词,你用“奇狐 span”做为关键词搜索,那么分割后关键词就是“奇狐”和“span”,高亮替换的时候,当然的是奇狐和span都会被高亮替换显示出来好吧。 关键词高亮前后标签是sp ...
已解决,站长可以更新一下
代码一粘贴就变成双引号了!
function fox_search_keyword_highlight($s, $keyword_arr){ foreach($keyword_arr as $key => $keyword){ if($key >= 1){ $chunks = preg_split("/(<span.*?\/span>)/ms", $s, - 1, PREG_SPLIT_DELIM_CAPTURE); foreach($chunks as $c){ if (strpos($c, "<span") !== 0){ $tmp = $c; $c = str_ireplace($keyword, "<span class="text-danger">".$keyword. "</span>", $c); $s = str_ireplace($tmp, $c, $s); } } }else{ $s = str_ireplace($keyword, "<span class="text-danger">".$keyword. "</span>", $s); } } return $s; }
初级会员