6. August 2010
CSS minimieren und komprimieren mit PHP
Heute sind CSS Dateien von 200 – 300 KB grösse keine Seltenheit. Auch in Zukunft werden Cascading Style Sheets immer grösser und komplexer werden. Natürlich gibt es Werkzeuge die CSS komprimieren. Beim Minimieren und/oder Komprimieren, leidet oft die Übersichtlichkeit in den entsprechenden Dateien. Gegen das Aufsplitten in einzelne Teile spricht die Performance (zu viele Requests).
Hier eine elegante Idee, wie man die Übersichtlichkeit von CSS erhöht, und deren Grösse massiv reduziert. Die CSS – Datei wird dabei durch den PHP Parser geschickt und heisst nun style.php.
<link rel="stylesheet" href="css/style.php" type="text/css" media="screen, projection" />
Danach werden die einzelnen CSS Dateien geladen und vom Server komprimiert (ohne Kommentare und Zeilenabstände) ausgeliefert.
<?php
header('Content-type: text/css');
ob_start("compress");
function compress($buffer) {
/*Kommentar entfernen */
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
/* entfernen von abständen, Zeilen usw.*/
$buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buffer);
return $buffer;
}
/*lade CSS Dateien */
include('css/reset.css');
include('css/layout.css');
include('css/navi.css');
include('css/forms.css');
ob_end_flush();
?>
Das gefällt mir. Sauber zum arbeiten und schlank in der Anwendung ist Die Reinhold Weber – Methode. Gefunden bei catswhocode.com.

Ja, ich gebe es zu, auch ich war ein treuer Leser von 