如何改进此代码以使用PHP组合/压缩CSS

时间:2012-10-16 10:17:29

标签: php css

这是一个用PHP压缩多个CSS的流行代码。

 <?php
      header('Content-type: text/css');
      ob_start("compress");
      function compress($buffer) {
        /* remove comments */
        $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
        /* remove tabs, spaces, newlines, etc. */
        $buffer = str_replace(array("
    ", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
        return $buffer;
      }

      /* your css files */
      include('master.css');
      include('typography.css');
      include('grid.css');
      include('print.css');
      include('handheld.css');

      ob_end_flush();
?>

查看代码,我可以看到它只会压缩文件,但不会将它们组合在一起。我如何调整它以组合文件?

1 个答案:

答案 0 :(得分:1)

你试过这段代码吗?我很确定它也结合了它。它执行以下操作:它设置一个回调函数来替换注释,制表符空格和换行符。然后,它包含多个CSS文件(所有这些文件都通过相同的回调)。

最后,输出被刷新到浏览器。这意味着所有这些文件的所有 CSS将被发送到浏览器,这意味着它也将它组合在一起。