php实现对css文件进行压缩和解压缩

将css代码压缩能够减小文件的体积,从而减小了网络传输量和带宽占用,减小了服务器的处理的压力

源码:

 代码如下 复制代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>

<?php 

$string = trim(stripslashes($_POST['code'])); //stripslashes()函数删除转义字符(反斜杠)

if(!empty($string)){

if($_POST['method'] == '压缩' ){

$string = css_compress($string);

}elseif($_POST['method'] == '解压缩' ){

$string = css_decompress($string);

}

}else{

$string = '';

}

function css_compress($string){

//压缩

$string = str_replace("\r\n","",$string); //首先去掉换行

$string = preg_replace("/(\s*\{\s*)/","{",$string);

$string = preg_replace("/(\s*\;\s*\}\s*)/","}",$string); //去掉反括号首位的空格和换行,和最后一个;

$string = preg_replace("/(\s*\;\s*)/",";",$string);

return $string;

}

function css_decompress($string){

//解压

$string = css_compress($string); //为了效果更好,解压前,先压缩至最简状态

$string = str_replace("{","\r\n{\r\n\t",$string);

$string = str_replace("}","\r\n}\r\n\r\n",$string); 

$string = str_replace(";",";\r\n\t",$string);

$string = str_replace("*/","*/\r\n",$string);

return $string;

}

?>

<body>

  <div style="width:800px;height:500px;text-align:center">

  <p><strong>请将css代码粘贴到下面框中,然后选择压缩/解压缩</strong></p>

  <form action="" method="post" name="css_code">

    <textarea style="width:90%;height:460px;padding:5px;" name="code"><?php echo $string; ?></textarea>

    <br />

    <input type="submit" name="method" value="压缩" />

    <input type="submit" name="method" value="解压缩" />

  </form>

  </div>

</body>

</html>

时间: 2024-09-15 14:18:48

php实现对css文件进行压缩和解压缩的相关文章

使用Python压缩和解压缩zip文件的教程

  这篇文章主要介绍了使用Python压缩和解压缩zip文件的教程,主要用到了zipfile包,需要的朋友可以参考下 python 的 zipfile 提供了非常便捷的方法来压缩和解压 zip 文件. 例如,在py脚本所在目录中,有如下文件: 代码如下: readability/readability.js readability/readability.txt readability/readability-print.css readability/sprite-readability.pn

用ASP.Net实现文件的在线压缩和解压缩

asp.net|压缩|在线 我们经常会遇到批量上传的问题,也会遇到将某个目录下所有文件都上传到服务器上的问题.那么,如何解决此类问题呢?以前的技术一般采用ActiveX等方式,这里笔者采用SharpZlib来实现,听说VS2005已有压缩和解压缩的解决方案,笔者还没有时间用VS2005,所以就只好使用VS2003 + SharpZlib来解决问题了. 1.首先从这里下载0.84版本的SharpZlib源码及示例码. 2.下载下来之后你发现它没有VS2003的解决方案文件,没有关系.你可以自己建立

ASP.NET实现文件的在线压缩和解压缩

asp.net|压缩|在线 我们经常会遇到批量上传的问题,也会遇到将某个目录下所有文件都上传到服务器上的问题.那么,如何解决此类问题呢?以前的技术一般采用ActiveX等方式,这里笔者采用SharpZlib来实现,听说VS2005已有压缩和解压缩的解决方案,笔者还没有时间用VS2005,所以就只好使用VS2003 + SharpZlib来解决问题了. 1.首先从这里下载0.84版本的SharpZlib源码及示例码. 2.下载下来之后你发现它没有VS2003的解决方案文件,没有关系.你可以自己建立

使用php的zlib压缩和解压缩swf文件

我在以前写过怎么使用c#来压缩和解压缩swf文件,解压缩,压缩和读取flash头文件信息需要使用一个开源的链接库,而且使用起来也不是很方便,但是使用php就不一样了,php包含了zlib的链接库,可以直接使用其相关功能,下面是我写的压缩和结压缩swf文件的例子: //没有加入判断swf文件是否已经压缩,入需要可以根据文件的第一个字节是'F'或者'C'来判断 压缩swf文件: <?php //-----------------------------------------------------

Windows 8 Store Apps学习70) 其它: 文件压缩和解压缩

重新想象 Windows 8 Store Apps (70) - 其它: 文件压缩和解压缩, 与 Windows 商店相关的操作, app 与 web, 几个 Core 的应用, 页面的生命周期和程序的生命周期 作者:webabcd 介绍 重新想象 Windows 8 Store Apps 之 其它 文件压缩和解压缩 与 Windows 商店相关的操作 app 与 web 几个 Core 的应用 页面的生命周期和程序的生命周期 示例 1.演示如何压缩和解压缩文件 Feature/Compress

Python实现对PPT文件进行截图操作的方法

  本文实例讲述了Python实现对PPT文件进行截图操作的方法.分享给大家供大家参考.具体分析如下: 下面的代码可以为powerpoint文件ppt进行截图,可以指定要截取的幻灯片页面,需要本机安装了powerpoint,可以指定截图的大小分辨率 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import os import comtypes.client def export_presentation(path_to_ppt, path_to_folder):

IOS开发之网络编程--文件压缩和解压缩

前言: QQ表情包就用到了解压缩,从网络下载的那么多表情文件格式并不是一个一个图片文件,而是多个图片压缩而成的表情压缩包.下面介绍的是iOS开发中会用到的压缩和解压缩的第三方框架的使用. 注意: 这个第三方框架代码文件夹是SSZipArchive,使用cocoapods搜索也是搜索SSZipArchive.但是如果你在github上直接搜索ZipArchive,搜到点赞数最多,维护频繁的ZipArchive库,然后下载代码,其实就是这个SSZipArchive. 第三方框架github网址:ht

基于Huffman编码的C语言压缩和解压缩文件程序

问题描述 基于Huffman编码的C语言压缩和解压缩文件程序 基于Huffman编码的C语言解压缩和解压缩文件程序文件程序. c功底比较差...一下午只写出了huffman树. 想求能直接调试的代码.最好有注释. 解决方案 基于Huffman编码的C语言解压缩文件程序Huffman 编码压缩 解决方案二: http://www.linuxidc.com/Linux/2014-08/105672.htm 解决方案三: 为什么不用自适应算数编码呢?效果要比霍夫曼好多了吧! 解决方案四: 为什么不用自

使用Python读写及压缩和解压缩文件的示例_python

读写文件首先看一个例子: f = open('thefile.txt','w') #以写方式打开, try: f.write('wokao') finally: f.close() 文件的打开方式: f = open('文件','mode') 'r':只读(缺省.如果文件不存在,则抛出错误) 'w':只写(如果文件不存在,则自动创建文件),此时无法调用f.read()方法,且当调用f.write()时,将清空文件原有内容 'a':附加到文件末尾 'r+':读写 如果需要以二进制方式打开文件,需要