玩采集的,不小心采集到链接、网址、JS等。没关系,下面,看我教你把它们都过滤了。
方法一:后台搜索
搜索文章内容修改:打开 /admin/content_list.php 看到第 137 行代码
$whereSql .= " AND ( CONCAT(arc.id,arc.title,arc.writer) LIKE '%$keyword%') ";
改为
$whereSql = " left join `#@__addonarticle` on arc.id=`#@__addonarticle`.aid ".$whereSql." And (CONCAT(`#@__addonarticle`.body,arc.title,arc.id,arc.writer,arc.keywords,arc.description) like '%$keyword%') ";
其中的3处 #@__addonarticle 是查询文章表的,若你有多个文章表就手动改改再查。
后台 - 文档管理 - 直接在输入标题框里面搜索,比如
搜 href= 就是链接啦!搜 script 就是JS啦!这是直接搜索文章内容啦。
方法二:标签过滤
什么?很卡?手动修改麻烦?那直接使用标签过滤就行了。
打开 /system/extend.func.php 翻到最底部,在 ?> 的上面加个方法
function bodybot($content) { //过滤CSS样式、JS脚本 $content = preg_replace('/<style\b[^>]*>.*?<\/style>/si', '', $content); $content = preg_replace('/<script\b[^>]*>.*?<\/script>/si', '', $content); $content = preg_replace('/<link.*?>|<script.*?>|<style.*?>.*?<\/style>/si', '', $content); //过滤 href 标签 preg_match_all('#href=([\"|\'])(.*)([\"|\'])#iU', $content, $gehref); if(!is_null($gehref)) { foreach($gehref[2] as $href) { $content = str_replace('href="'.$href.'"','', $content); } } return $content; }
调用标签:打开 /theme/dedebiz/article_article.htm 就是你的文章内容模版
{dede:field.body function='bodybot(@me)'/}
完成,全站更新,标签会被过滤了。
方法三:入库过滤
入库前过滤,更加的省心。打开 /admin/inc/inc_archives_functions.php 搜索
$body = addslashes($body);
在它下面加入
$body = preg_replace('/<style\b[^>]*>.*?<\/style>/si', '', $body); $body = preg_replace('/<script\b[^>]*>.*?<\/script>/si', '', $body); $body = preg_replace('/<link.*?>|<script.*?>|<style.*?>.*?<\/style>/si', '', $body);
改完后,发布文档、修改文档时,会过滤CSS、JS了。
登录后方可回帖