php压缩CSS代码 可换行

1 篇文章 0 订阅

网上压缩css代码大部分是单行,这里用php写个遍历目录的,可以压缩css的php源码


<?php 
/**
 *  调用规则  如果flag为真,多行
 *  css.php?dir=dirname[&flag=1] 
 */
set_time_limit(0);
header("Content-type:text/html;charset=utf-8");

$css=$_GET['dir'];
$flag=$_GET['flag'];

function compress_css($buffer,$flag=FALSE)
{
	 $buffer = preg_replace("!/\*[^*]*\*+([^/][^*]*\*+)*/!", "", $buffer) ;
	 $arr = array("\r\n", "\r", "\n", "\t", "  ", "    ", "    ") ;
	 $buffer = str_replace($arr, "", $buffer) ;
	 // 去掉charset
	 $buffer = str_replace('@CHARSET "UTF-8";', "", $buffer) ;
	 
	 if ($flag){
	 	// 保留换行
	 	$str='';
	 	$buffer_array=explode('}', $buffer);
	 	if ($buffer_array) {
	 		foreach ($buffer_array as $key => $yb) {
	 			if ($yb) $str.=$yb."}\r\n";
	 		}
	 	}
	 	$buffer=$str;
	 }
	 return $buffer;
	 
}

 function makecss($path,$flag)
 {
  if (is_dir($path)) 
  {
   if ($dh = opendir($path))
    {
    while (($file = readdir($dh)) !== false) 
    {
     if($file!=".."&&$file!=".")
     {
      if(is_dir($path."/".$file))
      {
       makecss($path."/".$file,$flag);
      }
      else
      {
      	$content = file_get_contents($path."/".$file);
      	$content=compress_css($content,$flag?TRUE:FALSE);
      	$fp = fopen($path."/".$file, "w");
		fwrite($fp, $content);  
		fclose($fp);
      }
     }
    }
    closedir($dh);
   }
   return 1;
  }
 }

 if(makecss($css,$flag)){
 	echo '美化css文件成功';
 }
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值