Emlog 网站源码压缩 无插件

  • 内容
  • 相关

在以往的Emlog优化教程中,相信都是使用的代码压缩插件,今天主要是分享插件的代码版本,也就是不使用插件,直接将代码丢在module.php中就可以,好吧,又消灭一个插件!

教程源自舍力

1.当前模板的 module.php

<?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("\n\n", "\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;
}
?>
2.在footer.php 末尾(最后面)
<?php 
$html = ob_get_contents();
ob_get_clean();
echo slys($html); 
?>


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

<?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);
?>
然后在echo_log.php、page.php文件中的$log_content用下面代码替换
slbys($log_content)



本文标签:

本文标题:Emlog 网站源码压缩 无插件

本文链接:https://www.52linglong.com/emlog/emlog_website_compression_sl.html

版权声明:若无特殊注明,皆为《emlog》原创版权,转载请保留文章出处。

发表评论

电子邮件地址不会被公开。 必填项已用*标注