Minimierung des CSS-Codes

Ich bin ja jemand, der gerne in schön formatiertem Code arbeitet. Erleichtert das Arbeiten gewaltig ABER dadurch werden die zu übertragenden Dateien natürlich aufgebläht. Deswegen haben ich mir gedacht, dass ich doch in meinen CSS-Parser auch gleich noch eine Funktion zum Minimieren von CSS-Code anzufügen.

Jetzt ist natürlich die Frage: Was darf man alles ohne schlechtes Gewissen entfernen?
Das ist meine Liste:

  • Kommentare
  • alle Leerzeichen nach und von {};:,
  • AUSSER wenn irgendwas in Strings vorliegt

- ohne das letzte "außer" wäre das Ganze trivial - aber auch alle drei sind nicht sehr viel Code:
Code: public function minimizeCSS($str){ return preg_replace('/' . '(' . self::$strRegExp . ')|' . '(?<=[{};:,])[\n\r\s]+' . '|' . '[\n\r\s]+(?=[{};:,])' . '|' . '[\r\n\s]*\/\*[\s\S]*?\*\/[\r\n\s]*' . '/', "$1", $str); }

Meine Liste und meine Implementierung sind natürlich noch nicht das Bestmögliche - aber ich habe damit schon Kompressionsraten auf 63% erreicht.