Emlog无需插件实现网站源代码压缩

  网站源代码压缩的用处:

  1、减小了文件的体积。

  2、减小了网络传输量和带宽占用。

  3、减小了服务器的处理的压力。

  4、提高了页面的渲染显示的速度。

  先把下面的代码放到module.php文件。

[lv]

 <?php
        //全站代码压缩
        function slys($sheli){$initial=strlen($sheli);$sheli=explode("<!--slys-->",$sheli);$count=count($sheli); for($i=0;$i<=$count;$i++){if(stristr($sheli[$i], '<!--slys end-->')){$sheli[$i]=(str_replace("<!--slys end-->", " ", $sheli[$i]));}else{$sheli[$i]=(str_replace("t", " ", $sheli[$i]));$sheli[$i]=(str_replace("nn", "n", $sheli[$i]));$sheli[$i]=(str_replace("n", "", $sheli[$i]));$sheli[$i]=(str_replace("r", "", $sheli[$i]));while (stristr($sheli[$i], '  ')){$sheli[$i]=(str_replace("  ", " ", $sheli[$i]));}}$sheli_out.=$sheli[$i];}$final=strlen($sheli_out);$savings=($initial-$final)/$initial*100;$savings=round($savings,2);$sheli_out.="n<!--压缩前的大小: $initial bytes; 压缩后的大小: $final bytes; 节约:$savings% -->";return $sheli_out;}
        ?>

[/lv]

然后把下面的代码放到footer.php文件。

<?php $html=ob_get_contents();ob_get_clean();echo slys($html);?>

如果要实现不压缩pre中的代码,要在module.php里面的加入下面代码。

[lv]

<?php 
//不压缩pre
function slbys($content){if(preg_match_all('/(crayon-|</pre>)/i',$content,$matches)){$content = '<!--slys--><!--slys end-->'.$content;$content.= '<!--slys end--><!--slys-->';}return $content;}slbys($log_content);
?>

[/lv]

然后在echo_log.php、page.php文件中的$log_content用下面代码替换。

slbys($log_content)