Минификация (сжатие) исходного кода (HTML) в 1C-Bitrix
588
Для ускорения загрузки сайта необходимо уменьшить количество бесполезной информации, передаваемой от сервера к клиенту. На выходе Битрикс генерирует html-код, в котором много лишних переносов сток, табуляций и пробелов. Чтобы исправить данную ситуацию, нужно в /bitrix/php_interface/init.php файл внести следующие строки (перед модификацией настоятельно рекомендую сделать резервную копию init.php файла): // Удаляем лишние пробелы и пустые строки в html перед выводом пользователю AddEventHandler("main", "OnEndBufferContent", "ChangeMyContent"); function ChangeMyContent(&$content){ $content = sanitize_output($content); } function sanitize_output($buffer){ $search = array( '/\>[^\S ]+/s', //strip whitespaces after tags, except space '/[^\S ]+\</s', //strip whitespaces before tags, except space '/(\s)+/s' // shorten multiple whitespace sequences ); $replace = array( '>', '<', '\\1' ); $blocks = preg_split('/(<\/?pre[^>]*>)/', $buffer, null, PREG_SPLIT_DELIM_CAPTURE); $buffer = ''; foreach($blocks as $i => $block){ if($i % 4 == 2) $buffer .= $block; //break out <pre>...</pre> with \n's else $buffer .= preg_replace($search, $replace, $block); } return $buffer; } Помощь проекту
Привет, меня зовут Вика! Я являюсь автором сайта Weblim.
Если Вам помогла данная статья, вы можете отблагодраить меня перечислив любую денежную сумму. Заранее спасибо! |
Последние записи
|