分享好友教程首页教程搜索频道列表

DESTOON搜索关键词记录过滤拼音以及全英文搜索

2021-12-07 14:2412910
+关注2
核心提示:搜索关键词记录总有英文的恶意关键词搜索提交,导致destoon后台的搜索关键词记录一...

网站搜索关键词记录总有英文的恶意关键词搜索提交,导致destoon后台的搜索关键词记录一大堆垃圾无效的搜索关键词,所以就重新在官方默认的基础上修改过滤英文及拼音关键词搜索,话不多说,看教程,不限destoon版本

找到/include/module.func.php

在14行左右,找到:function keyword($kw, $items, $moduleid) 

替换这段函数改为以下即可:

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')");
		}
	}
}


代码完成,在后台更新下数据,清除下缓存,即可

本文标签:#搜索#过滤#记录
整理员:网络转载
免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
生成海报
您可能在找更多

PHP模糊查询优化:别再乱用LIKE了,生产环境这样写才稳

    昨天有位朋友在留言里提到:模糊查询。这确实是项目里高频、又特别容易写出性能坑的地方。很多开发者写模糊查询,上来就:SELECT*FROMuserWHEREnameLIKE'%张三%'本地数据少跑得飞快,一上线数据量一

小黑 PHP2026-03-23

百度搜索资源平台之PC网站url的移动适配

    案例的移动端是绑定的二级域名的,案例代码如下,已可以参考,需要根据你自己网站的url去修改

小黑 随手笔记 22022-09-08

jQuery+AJAX+PHP+MySQL数据库开发搜索功能,无跳转无刷新搜索

    演示:1、当表单无输入任何关键词的时候,返回请输入关键词...2、当表单输入的关键词查询无果的时候,返回无结果3、当表单输入的关键词查询有结果,则返回结果。表单页面index.html!DOCTYPEhtmlhtmlheadmetacharset=

网络 Ajax相关教程2021-07-21

DESTOON伪静态地址空值优化

    目前的处理方式:index.php?catid=0areaid=0kw=墙体广告的伪静态处理结果为index-htm-kw-墙体广告

小黑 开发技术2020-10-29

下一篇
我来说两句
抢沙发