Aison
@Aison

Сжатие html посредством кода, вызывает ли данный код какую-то нагрузку и есть от него польза?

Нашёл на просторах интернета данный код и хотелось бы спросить у знающих, есть ли смысл от такого кода?

В 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();


ссылка на оригинал
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
@rPman
Если цель - уменьшить трафик, то сжатием пусть занимается веб сервер, собственно так и есть по умолчанию, все происходит прозрачно для пользователя.

В результате убирать пробелы бессмысленно, так как после сжатия веб сервером результат практически не изменится, а вот проблемы из-за ошибок алгоритма очистки форматирования могут аукнуться в самом неожиданном виде.
Про комментарии, да было бы неплохо их убрать, особенно если есть желание создать проблемы тем кто будет анализировать твой сайт чтобы его парсить (не дать лишних подсказок) но мне кажется плюсы не перевешивают минусы. Я бы этим не занимался (точнее если и занимался то не на лету а перед выдачей кода в продакшен и тестирования).

Ну и в догонку, указанный код слегка повысит нагрузку на процессор, незначительно но все же.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
04 мая 2024, в 14:12
3500 руб./за проект
04 мая 2024, в 13:51
10000 руб./за проект
04 мая 2024, в 13:23
4000 руб./в час