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

Алексей Будагов,
Минификация html, убираем пробелы и переносы

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

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

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

/**
 * Удаляет табы и лишние пробелы из html кода
 *
 * @param $content
 */
function removeSpaces (&$content) {
	global $APPLICATION;
	if (!$APPLICATION->GetShowIncludeAreas()) {
        	$content = str_replace(array('	', '    '), '', $content);
        	$content = str_replace(array("\n"), ' ', $content);
	}
}

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

Опубликовано 28 Апреля 2018

Возврат к списку

Комментарии