Хак Минификация исходного кода в DLE

bogdan

Новичок
Регистрация
2 Май 2017
Сообщения
53
Реакции
18
Баллы
8
1. Откройте файл index.php в корневой папке вашего сайта и сразу после <?php вставьте:
PHP:
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;
}
2. Далее откройте файл main.php в папке /engine/modules/

Найдите:
PHP:
echo $tpl->result['main'];
И замените его на:
PHP:
ob_start("sanitize_output");
echo $tpl->result['main'];
ob_end_flush();
Чтоб админам исходный код не сжимался, тогда ставим этот код:
PHP:
if($member_id['user_group'] != 1) { ob_start("sanitize_output"); }
echo $tpl->result['main'];
if($member_id['user_group'] != 1) { ob_end_flush(); }
Почистите кэш, после чего зайдите на свой сайт и посмотрите исходный код. Если вы все сделали правильно – исходный код вашего сайта будет в одну строку.

PS: Автор не я.

Источник: https://forum.dle-news.ru/topic/70493-компиляция-html/
 
Последнее редактирование модератором:

DLEPlugins

Новичок
Регистрация
24 Фев 2017
Сообщения
208
Реакции
159
Баллы
43
Писали что такой метод режет скрипты и от него перекашивает шаб. Сам пробовал?
 

bogdan

Новичок
Регистрация
2 Май 2017
Сообщения
53
Реакции
18
Баллы
8
Писали что такой метод режет скрипты и от него перекашивает шаб. Сам пробовал?
Пробовал, все отлично. Данную тему обсуждали на зеро, пробовали разные решения. Я не вникал, ставил себе, полет нормальный. Код нашел на просторах интернета, хотел там поделиться в комментах. Но увы, зареганные пользователи не могут писать комменты. Решил выложить тут хак.
 

Marques

Новичок
Регистрация
27 Фев 2017
Сообщения
218
Реакции
87
Баллы
28
@bogdan, что такое минификация и зачем она нужна?
 

aeneas

Новичок
Регистрация
27 Фев 2017
Сообщения
2.974
Реакции
1.352
Баллы
113
час попробую, спасибо )
 

Romantv

Новичок
Регистрация
27 Фев 2017
Сообщения
957
Реакции
358
Баллы
63
использую этот код. скрипты не затрагивает вообще.если исходной код смотреть скрипты не сжаты а остальное все сжато. дома буду надо этот попробовать, посмотреть чем отличается,может этот больше понравится
<?php
function sanitize_output($buffer) {

$search = array(

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

);

$replace = array(
'>',
'<',
'\\1'
);

$buffer = preg_replace($search, $replace, $buffer);

return $buffer;
}

@ob_start("sanitize_output");
?>
 

Akimu

Ктулху
Приватовец
VIP
Прошёл марафон
Регистрация
11 Мар 2017
Сообщения
1.289
Реакции
941
Баллы
183
1. Откройте файл index.php в корневой папке вашего сайта и сразу после <?php вставьте:
PHP:
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;
}
2. Далее откройте файл main.php в папке /engine/modules/

Найдите:
PHP:
echo $tpl->result['main'];
И замените его на:
PHP:
ob_start("sanitize_output");
echo $tpl->result['main'];
ob_end_flush();
Чтоб админам исходный код не сжимался, тогда ставим этот код:
PHP:
if($member_id['user_group'] != 1) { ob_start("sanitize_output"); }
echo $tpl->result['main'];
if($member_id['user_group'] != 1) { ob_end_flush(); }
Почистите кэш, после чего зайдите на свой сайт и посмотрите исходный код. Если вы все сделали правильно – исходный код вашего сайта будет в одну строку.

PS: Автор не я.
Не работает чето

P.s добавил источник хака
 
Последнее редактирование модератором:

DLEPlugins

Новичок
Регистрация
24 Фев 2017
Сообщения
208
Реакции
159
Баллы
43
По факту сжатие кода может 0.01% поднимет в pagespeed, это скорей защита от тех кто в коде любит ковыряться. Шаб к примеру будет тяжело рипнуть когда в коде каша.
 

Juker7

Гуру
Кодер
Приватовец
Регистрация
22 Фев 2017
Сообщения
239
Реакции
133
Баллы
43
По факту сжатие кода может 0.01% поднимет в pagespeed, это скорей защита от тех кто в коде любит ковыряться. Шаб к примеру будет тяжело рипнуть когда в коде каша.
да жи есть тяжело)
открываю шторм, вставляю код, жму ctrl + alt + L и он его "разжимает"
 

sergo

Новичок
Регистрация
30 Мар 2017
Сообщения
178
Реакции
39
Баллы
28
Сеня ставил чудом наткнулся на эту тему :D полсе того как обычное меню категорий порезало в одну строку снес :D обычное меню через <li> :D не советую юзать может еще что либо отрезать заметите позже только :D
 

Orange

Новичок
Регистрация
3 Апр 2017
Сообщения
60
Реакции
19
Баллы
8
Абсолютно бессмысленный хак:boredomm:
 

bogdan

Новичок
Регистрация
2 Май 2017
Сообщения
53
Реакции
18
Баллы
8
У меня работает все четко. И меню и скрипты, в оптимизации Гугла когда сделал все возможное уже, было 90 произвел данное сжатие, стало 95. Проверьте валидность вашего шаблона. Как вариант может по этому резать.

Хак не навязываю, кто хочет можете использовать. Выложил так как видел что данную тему уже обсуждали, значит людям интересно. Мне добавило пунктов в гугле после всех вещей которые сделал по оптимизации, данным хаком добил уровень.

Плюс, я не автор, всего делюсь тем что я нашел на просторах интернета.
 

DLEPlugins

Новичок
Регистрация
24 Фев 2017
Сообщения
208
Реакции
159
Баллы
43
У меня работает все четко. И меню и скрипты, в оптимизации Гугла когда сделал все возможное уже, было 90 произвел данное сжатие, стало 95. Проверьте валидность вашего шаблона. Как вариант может по этому резать.

Хак не навязываю, кто хочет можете использовать. Выложил так как видел что данную тему уже обсуждали, значит людям интересно. Мне добавило пунктов в гугле после всех вещей которые сделал по оптимизации, данным хаком добил уровень.

Плюс, я не автор, всего делюсь тем что я нашел на просторах интернета.
Было 90 стало 95.
У меня сейчас так
Screenshot_1 (1).jpg Screenshot_2 (1).jpg
Без какого либо сжатия html (минификации), т.е. сделав его будет 105/100?)
Говорю же не влияет на pagespeed, пруфы выше
 
Сверху Снизу