Нижеприведенная функция удаляет из исходного html-кода все пробелы, комментарии, а также атрибут type из тегов <style> и <script>. Функция предусмотрительно пропускает тег <code> и <!— noindex !—>. Таким образом функция «на лету» выполняет минификацию с очень высокой скоростью. Эту функцию необходимо вставлять в файл function.php активной темы.
## СЖАТИЕ HTML-КОДА
function html_compression( $html ){
return preg_replace( array(
'/\>[^\S ]+/s',
'/[^\S ]+\</s',
'/(?![^<]*<\/code>)(\s)+/s',
'/type=[\'\"]text\/(javascript|css)[\'\"]/s',
'/<!--(?![^<]*noindex)(.*?)-->/s'
),
array(
'>',
'<',
'\\1',
'',
''
),
$html );
}
add_action( 'get_header', fn() => ob_start( 'html_compression' ) );
Страницы этого сайта сжимаются представленной функцией. Посмотрите на исходный код в своем браузере, нажав сочетание клавиш Ctrl-U.
