如何在飞行中缩小css?

时间:2013-12-17 06:16:35

标签: php css wordpress http http-headers

我正在尝试在WordPress中快速缩小CSS,因为如果我直接进行缩小,那么当评论被删除时,我的主题将无效。

首先,我尝试从任何指定的css文件中删除注释,其工作正常,这里是代码

<?php
$cssfile = 'style.css';//css file needed to minify
$file = fopen($cssfile, 'r');
if ($file) {
    $buffer = file_get_contents('style.css');//getting content of css file needed to minify
    $buffers = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);

    echo $buffers;
}?>

我想在飞行中做同样的事情。在许多教程中,所有使用ob_start()并说http request。我不知道这些事情和他们的东西,我也无法看到他们在第一行$cssfile

中指定文件路径的位置

我认为他们正在告诉$_GET[something]文件。这是他们提到需要缩小的css文件吗?(提到css的路径)

任何人都可以通过解释ob_start(),http请求以及它如何工作来帮助我实现动态css minify。

2 个答案:

答案 0 :(得分:1)

可以从css文件中删除多余的空格

  

试试这个

<?php
$search = array(
        '/\>[^\S]+/s', // strip whitespaces after tags, except space
        '/[^\S]+\</s', // strip whitespaces before tags, except space
        '/(\s)+/s'       // shorten multiple whitespace sequences
    );

    $replace = array(
        '>',
        '<',
        '\\1'
    );

    $style = preg_replace($search, $replace, $buffer = file_get_contents('style.css'));
?>

<style type="text/css"><?php echo $style; ?></style>

答案 1 :(得分:0)

好。这个怎么样: http://manas.tungare.name/software/css-compression-in-php

他的功能似乎解决了你的问题。