Un poco en la línea de lo que hacen jsmin-php o minify, este script en Reinhold Weber aprovecha la posibilidad de lectura/volcado de archivos con php y el uso de expresiones regulares para convertir varios archivos CSS en uno sólo y servirlo sin comentarios ni saltos de línea o espacios innecesarios.
<?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", "\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();
?>
Siguiendo el mismo procedimiento se podrían comprimir todos los archivos .js en uno sólo. Habría que cambiar el Content-type:
Header("content-type: application/x-javascript");
Con estas prácticas conseguimos por un lado reducir el tamaño de los ficheros que el cliente descargará, lo que significa menos ancho de banda consumido, y por otro lado reducimos el numero de peticiones HTTP, lo que significa una mayor velocidad en la carga de la web.




