在Web,js,css文件会越多,那么对就增加了http请求数,解决该问题的一个好的方法就是合并js,css文件,下面就简单介绍一个方法,十分简单,本文以实现原理为主,代码可能会有出入,如果大家直接用请调试一下.
HTML代码如下:
23ecb636a482bc0ed7e6c0d7f43f8f7b
d869fc1d417a902604f34d6fda350b262cacc6d41bbb37262a98f745aa00fbf0
PHP 代码如下:
//输出JS header ("Content-type:Application/x-javascript; Charset: utf-8"); if(isset($_GET)) { $files = explode(",", $_GET['get']); $str = ''; foreach ($files as $key => $val){ $str .= file_get_contents($_GET['path'].$val); } $str = str_replace("\t", "", $str); //清除空格 $str = str_replace("\r\n", "", $str); $str = str_replace("\n", "", $str); // 删除单行注释 $str = preg_replace("/\/\/\s*[a-zA-Z0-9_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/", "", $str); // 删除多行注释 $str = preg_replace("/\/\*[^\/]*\*\//s", "", $str); echo $str; } //输出CSS header ("content-type:text/css; charset: utf-8"); if(isset($_GET)) { $files = explode(",", $_GET['get']); $fc = ''; foreach ($files as $key => $val){ $fc .= file_get_contents($_GET['path'].$val.".css"); } $fc = str_replace("\t", "", $fc); //清除空格 $fc = str_replace("\r\n", "", $fc); $fc = str_replace("\n", "", $fc); $fc = preg_replace("/\/\*[^\/]*\*\//s", "", $fc); echo $fc; }
只是个简单原型,没有封装,另外,合并后的文件记得配合缓存.
附上一个相关的开源项目:http://code.google.com/p/minify/
本文链接:
收藏随意^^请保留教程地址.