destoon搜索关键词记录过滤拼音以及全英文搜索
最近网站搜索关键词记录总有英文的恶意关键词搜索提交,导致dt后台的搜索关键词记录一大堆垃圾无效的搜索关键词,所以就重新在官方基础上修改过滤英文及拼音关键词搜索,说干就干!
找到/include/module.func.php
在14行左右,找到:function keyword(items, $moduleid)
替换这段函数改为以下即可:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | function keyword( $kw , $items , $moduleid ) { global $DT ; //判断搜索字符串长度 if (! $DT [ 'search_kw' ] || $items < 2 || strlen ( $kw ) < 3 || strlen ( $kw ) > 120 || strpos ( $kw , ' ' ) !== false|| strpos ( $kw , '_' ) !== false) return ; $kw = addslashes ( $kw ); //判断是否有关键词 $r = DB::get_one( "SELECt * FROM " .DT_PRE. "keyword WHERe moduleid=$moduleid AND word='$kw' ORDER BY itemid ASC" ); if ( $r ) { $letter = trim(gb2py( $kw )); $items = $items > $r [ 'items' ] ? $items : $r [ 'items' ]; $month_search = date ( 'Y-m' , $r [ 'updatetime' ]) == date ( 'Y-m' , DT_TIME) ? 'month_search+1' : '1' ; $week_search = date ( 'W' , $r [ 'updatetime' ]) == date ( 'W' , DT_TIME) ? 'week_search+1' : '1' ; $today_search = date ( 'Y-m-d' , $r [ 'updatetime' ]) == date ( 'Y-m-d' , DT_TIME) ? 'today_search+1' : '1' ; if ( $letter == $kw ){ DB::query( "DELETE FROM " .DT_PRE. "keyword WHERe moduleid=$moduleid AND word='$kw' " ); } DB::query( "UPDATe " .DT_PRE. "keyword SET items='$items',updatetime='" .DT_TIME. "',total_search=total_search+1,month_search=$month_search,week_search=$week_search,today_search=$today_search WHERe itemid=$r[itemid]" ); DB::query( "DELETE FROM " .DT_PRE. "keyword WHERe moduleid=$moduleid AND word='$kw' AND itemid>$r[itemid]" ); } else { $letter = trim(gb2py( $kw )); $status = $DT [ 'search_check_kw' ] ? 2 : 3; if ( strlen ( $letter ) < 2) $status = 2; //判断拼音和中文是否一致,如果一致就不入库 if ( $letter == $kw ){ DB::query( "DELETe FROM " .DT_PRE. "keyword WHERe moduleid=$moduleid AND word='$kw' " ); } else { DB::query( "INSERT INTO " .DT_PRE. "keyword (moduleid,word,keyword,letter,items,updatetime,total_search,month_search,week_search,today_search,status) VALUES ('$moduleid','$kw','$kw','$letter','$items','" .DT_TIME. "','1','1','1','1','$status')" ); } } } |
最后后台更新下数据,清除下缓存,即可,就解决了搜索英文和拼音的烦恼
千行代码,Bug何处藏。 纵使上线又怎样,朝令改,夕断肠。
分类:
PHP开发笔记
标签:
destoon搜索页
, destoon
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2019-10-30 自己整理的模拟爬虫的user-agent