批量清除所有文章的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('操作完成');