{% else-1 %}
Функция для сжатия CSS файлов
Удаляет комментарии, табуляцию, переходы на новую строку и повторяющиеся пробелы
А также собирает все файлы в один

Удалён $files_css array - массив путей до css файлов, которые необходимо сжать
Удалён $new_file string - путь, куда будет сохранен сжатый файл
Удалён bool - результат

                        
function compression_files($files_css, $new_file) {
// получаем содержимое всех css файлов
$content_css = "";
foreach($files_css as $one_file){
$content_css .= @file_get_contents($one_file);
if(!$content_css) return false; // если какой-то из файлов не получилось прочитать
}

// удаляем комментарии
$content_css = preg_replace('!/*[^*]**+([^/][^*]**+)*/!', '', $content_css);
// удаляем табуляции и переходы на новую строку
$content_css = str_replace(array("rn", "r", "n", "t"), ' ', $content_css);
// удаляем повторяющиеся пробелы
$content_css = preg_replace('/ {2,}/', ' ', $content_css);

// сохраняем результат в файл
$css_file = fopen ($new_file, "w+");
fwrite($css_file, $content_css);
$result_save = fclose($css_file);

// вернем результат сохранения
return $result_save;
}

пример использования:

// массив с путями до css файлов
$css_array = array(
'css/style_1.css',
'css/style_2.css'
);
// путь, куда будет сохранен сжатый файл
$new_file = "css/compression_file.css";
// вызываем функцию сжатия
$result = compression_files($css_array, $new_file);

var_dump($result);
1 30 0
Без комментариев...