Минификация html, убираем пробелы и переносы

5k
Алексей,
Минификация html, убираем пробелы и переносы
Минификация html, убираем пробелы и переносы

Простой способ пройти еще одну проверку от Google Pagespeed, разгрузить посетителей и место на хостинге (если используете композит)

Простой способ пройти еще одну проверку от Google Pagespeed, разгрузить посетителей и место на хостинге (если используете композит)

Вставляем в init.php код:

\Bitrix\Main\EventManager::getInstance()->addEventHandler("main", "OnEndBufferContent", "removeSpacesAndTabs");


function removeSpacesAndTabs (&$content) {
	global $APPLICATION;
	$page = $APPLICATION->GetCurPage();

	if ($page != '/bitrix/tools/captcha.php' && $page != '/bitrix/admin/captcha.php') {
		$content = preg_replace("/[ \t]+/", " ", $content);
		$content = str_replace(array("\n \n"), "\n", $content);
	}
}

Простыми словами. После формирования html на стороне сервере (событие OnEndBufferContent), скрипт делает замену переносов строки , отступов (табов) и пробелов на один пробел, но при условии, что не включен режим правки (перестает работать при таких заменах).

Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 28 апреля 2018 | Обновлено 2 мая 2020
производительность
Поделиться
Похожие статьи
Свойство списком или справочником
Сравнил производительность 2-х типов свойств. Результаты в таблице:
Читать дальше » 0
Алексей,
Оптимизируем картинки
Как уменьшить размеры слишком больших картинок и сжимать остальные без потерь? Нам понадобятся плаги...
Читать дальше » 0
Алексей,
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
22 окт 2019
У меня при такой минимизации перестает работать часть JS кода. В чем именно может быть проблема?
Алексей
22 окт 2019
Михаил, убираются пробелы и переносы строк в html коде. Все js вставки лучше убрать в отдельные js файлы, либо нужно исправлять сам js код.
22 окт 2019
Алексей, похоже нашел проблему более детально. Связано это вероятно с комментариями. При наличии однострочных комментариев в JS, если заменить перенос каретки на пробел, часть JS кода комментируется.
Алексей
22 окт 2019
Михаил, да, есть такая проблема.
Простой способ пройти еще одну проверку от Google Pagespeed, разгрузить посетителей и место на хостинге (если используете композит)