批量清除所有文章的style样式(冗余代码)
前言
很多同学的网站内容都是从其他站复制来的,会很神奇的发现原来网站内容的样式都还在,都不用自己调整样式了,暗暗窃喜。
如下图:
但你不知道的是复制的内容还包含大量的style样式,原本的样式就是这些代码的作用,但多数情况根本不需要这些样式。如果按照这样的情况下去,你天天这样复制内容,不要多久,你的数据库就会异常的旁大,网站速度也自带会变慢。
你每次发布文章的时候可以利用编辑器自带的样式清除功能,将这些代码清除。
批量清除代码
如果网站已经包含了大量的这样的文章,可以用下面代码,批量清除。
在你网站根目录新建一个php文件,将代码复制过去,然后浏览器打开这个文件的url就可以自动的清除。建议操作前先备份数据库
<?php require 'zb_system/function/c_system_base.php'; $p = new Pagebar('{?page=%page%}', false); $p->PageCount = 30; $p->PageNow = (int) GetVars('page', 'GET') == 0 ? 1 : (int) GetVars('page', 'GET'); $p->PageBarCount = $zbp->pagebarcount; $articles = $zbp->GetArticleList('*',array(array('search','log_Content','style=')),array('log_PostTime' => 'DESC'),array(($p->PageNow - 1) * $p->PageCount, $p->PageCount),array('pagebar' => $p)); foreach ($articles as $article){ $article->Content = preg_replace('/[\s]{1}style="[\s\S].*?"/','',$article->Content); $article->Save(); } if ($articles) exit('已处理文章:'.($p->PageCount * $p->PageNow).'<script>window.location.href="?page='.($p->PageNow + 1).'"</script>'); else exit('操作完成');