Плагин Минификация HTML кода страницы в DLE

killoff

Команда форума
Moderator
Разрушитель (V)
Сообщения
182
Симпатии
92
Баллы
1 418
2021-02-27_10-09-13.png
Сжатие HTML кода страниц, и больше тут нечего сказать... На 13+ можно ставить плагином без ручных манипуляций с правкой файлов. Ну... и тему их хаков перекинул в плагины.

Для начала немного кода, плагин в самом конце 😎

В index.php который в корне сайта выше строчки
Код:
@ob_start ();
вставить код
Код:
function sanitize_output($buffer) {
$search = array('/\>[^\S ]+/s', '/[^\S ]+\</s', '/(\s)+/s', '/<!--(.*?)-->/', '/\>[^\S ]+/s', '/[^\S ]+\</s', '/(\s)+/s');
$replace = array('>', '<', '\\1', '', '>', '<', '\\1');
$buffer = preg_replace($search, $replace, $buffer);
return $buffer;
}
или
Код:
function sanitize_output($buffer) {
$search = array('/\>[^\S ]+/s', '/[^\S ]+\</s', '/(\s)+/s', '/<!--(.*?)-->/', '/\>[^\S ]+/s', '/[^\S ]+\</s', '/(\s)+/s');
$replace = array('>', '<', '\\1', '<!--\\1-->', '>', '<', '\\1');
$buffer = preg_replace($search, $replace, $buffer);
return $buffer;
}
или
Код:
function sanitize_output($buffer) {
$search = array(

'/\>[^\S ]+/s', // Прокладка пробелы после тегов, кроме космоса
'/[^\S ]+\</s', // Прокладка пробелы перед тегами, за исключением космоса
'/\s{5,}/' // если виджеты работать не будут поставить цифру 4/3/5

);

$replace = array(
'>',
'<',
'\\1'
);
$buffer = preg_replace($search, $replace, $buffer);
return $buffer;
}
Далее в /engine/modules/main.php найти
Код:
echo $tpl->result['main'];
заменить на код
Код:
ob_start("sanitize_output");
echo $tpl->result['main'];
ob_end_flush();

Здесь есть один минус в том, что при сжатии кода страниц так же будут сжиматься и код в тегах code. Но если не вставлять в новостях, то хак отлично работает и выполняет свою функцию.

Скачать плагин - https://cloud.mail.ru/public/jLDK/17UYHhF19
 
Назад
Верх