Компрессор CSS кода (Сжатие файлов на PHP)

Сжатые, подключенные .css файлы становятся легче, а значит загрузка страниц вашего сайта будет немного быстрее, что в свою очередь дает преимущества вашему сайту. О способах ускорения загрузки я писал в теме: Ускорить загрузку сайта. В этой же теме я показал, как доработал сжатие .css файлов в своем движке: Ускорить загрузку сайта (Сообщение отдельно: #1552). В этой теме я хочу детально разобрать, как можно сжимать .css файлы.

Для одного своего проекта я писал класс compression, который выполнял сжатие файлов стиля, вот он:
class compression
{
	// Создание файла "style.css"
	// Функция создаёт сжатую копию файла ".css".
	public function creatureCSS($file, $original)
	{
		$css = file_get_contents($original); // Получение кода в строку

		$css = str_replace(array("\n", "\t", '    '), '', $css);  // Удаление табуляции, четыре идущих подряд пробела и переносов на новую строку
		$css = preg_replace('|/\*.*?\*/|', '', $css);             // Удаление комментариев
		$css = preg_replace('|([,:;){}]) |', '$1', $css);         // Удаление пробелов после символов ",:;){}"
		$css = preg_replace('| ([{])|', '$1', $css);              // Удаление пробела перед символом "{"

		$f = fopen($file, 'w'); // Создание нового файла
		fwrite($f, $css);       // Запись сжатого кода в файл
		fclose($f);             // Закрытие файла
	} // Создание файла "style.css" End
}

Метод класса creatureCSS читает файл стиля, убирает все лишнее (пробелы, табуляции и комментарии) и создает новый файл, оригинал при этом остается не неизмененным. Методу необходимо передать два параметра:
$file - Название нового файла.
$original - Название файла, который необходимо сжать.

Код метода я прокомментировал, так, что думаю объяснять, что там происходит не надо.

Пользоваться классом можно так:
$compression = new compression(); // Создаем объект

$compression->creatureCSS($file, $original); // Передаем необходимые параметры для сжатия

Например, из такого кода:
body {
	background-color: #FFFFFF;
	font: 12px Verdana, Arial, sans-serif;
	line-height: 13px;
	margin: 3px auto;
	width: 860px;
}

div {
	vertical-align: top;
	overflow: hidden
}

table {
	width: 100%;
}

Должно получиться так:
body{background-color:#FFFFFF;font:12px Verdana,Arial,sans-serif;line-height:13px;margin:3px auto;width:860px;}div{vertical-align:top;overflow:hidden}table{width:100%;}