Слияние CSS в один файл на PHP
|
|
| Дата: Пятница, 10.08.2012, 13:00 | Сообщение # 1 |
Группа: Администраторы
Сообщений: 1530
| header('Content-type: text/css'); ob_start("compress"); function compress($buf) { /* remove comments */ $buf = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buf); /* remove tabs, spaces, newlines, etc. */ $buf = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buf); return $buf; } /* all css files */ include('css1.css'); include('css2.css'); include('css3.css');
ob_end_flush();
|
|
| |
| Дата: Пятница, 10.08.2012, 13:38 | Сообщение # 2 |
Группа: Администраторы
Сообщений: 1530
| Еще примеры использования ob_start
<?php function zamena($buf) { return (str_replace("бананы и", "оскорблять", $buf)); } ob_start("zamena"); ?>
<html> <body> <p>Я люблю бананы и женщин</p> </body> </html>
<?php ob_end_flush(); ?>
выведет
<html> <body> <p>Я люблю оскорблять и женщин</p> </body> </html>
|
|
| |
| Дата: Среда, 15.05.2013, 12:05 | Сообщение # 3 |
Группа: Гости
| При слиянии пробелы убираются все, что недопустимо, т.к. встречаются строки вида border:1px solid #778899;
После обработки: border:1pxsolid#778899;
Получается возникает синтаксическая ошибка
|
|
| |
| Дата: Среда, 15.05.2013, 15:32 | Сообщение # 4 |
Группа: Администраторы
Сообщений: 1530
| Верное замечание. Значит из строки $buf = str_replace(array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '), '', $buf); надо убрать "вырезку одиночного пробела"
|
|
| |