hi,欢迎访问本站!
当前位置: 首页编程开发正文

php 压缩CSS的方法

墨初 编程开发 562阅读

下面说一下利用php脚本来压缩CSS代码的方法,CSS代码压缩后,可以大大的利于网页的加载,节省服务器流量以及宽带!

php直接压缩css文件

在后台可以使用单独的一个php文件对所有的css样式文件进行压缩处理,只需要去除css代码中的空格,换行,注释等等!

php代码:

header('Content-type: text/css');  
ob_start("compress_css");  
function compress_css ($buffer) 
{  
  //删除注释
  $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);  
  //删除空格,换行等  
  $buffer = str_replace(array("\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);  
  return $buffer;  
}  
//引入CSS文件,这里的地址为 CSS文件在服务器的绝对地址
include('/style/style.css'); 
ob_end_flush();

html前端调用

由上面是用的php文件来压缩的CSS代码,所以在前段时只需要引用压缩css的php文件即可!

<link rel="stylesheet" href="style.php">

php主动压缩css文件的方法

上面是用的php文件以及php的缓冲区压缩的css代码,下面再说一下里利用php脚本主动去压缩CSS代码的方法。

自定义压缩CSS代码

/**
 * @name 压缩CSS代码函数
 * @param path $css_back 需要压缩CSS的文件路径
 * 
 * @return path @css_new 压缩后CSS文件的存放地址
 * @host https://www.73so.com
 */
function compress_css($css_back,$css_new)
{
    //得到未压缩CSS文件的内容
    $str = @file_get_contents($css_back);
    //删除注释
    $str = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $str);  
    //删除空格,换行等  
    $str = str_replace(array("\r", "\n", "\t", '  ', '    ', '    '), '', $str);  
    //将压缩后的css文件内容写入到一个新的CSS文件中
    @file_put_contents($css_new,$str);
}

函数调用:

$no_compress = 'style_back.css'; //未压缩CSS文件的路径带文件名
$new_compress = 'style.css'; //生成压缩CSS文件的路径带文件名
//执行
compress_css($no_compress,$new_compress)
声明:无特别说明,转载请标明本文来源!
相关推荐