Как минимизировать вывод php html без удаления условных комментариев IE?

Я уменьшаю свои HTML-страницы с помощью этого скрипта PHP:

function compress_html($html) { preg_match_all('!(<(?:code|pre|script).*>[^<]+</(?:code|pre|script)>)!', $html, $pre); $html = preg_replace('!<(?:code|pre).*>[^<]+</(?:code|pre)>!', '#pre#', $html); $html = preg_replace('#<!–[^\[].+–>#', '', $html); $html = preg_replace('/[\r\n\t]+/', ' ', $html); $html = preg_replace('/>[\s]+</', '><', $html); $html = preg_replace('/\s+/', ' ', $html); if (!empty($pre[0])) { foreach ($pre[0] as $tag) { $html = preg_replace('!#pre#!', $tag, $html,1); } } return $html; } ob_start('compress_html'); 

Есть способ удалить только «комментарии HTML» … а не условные комментарии IE?

Благодарю.

Ваш код не обрабатывает многострочные комментарии HTML, удаляя только первую строку. Кроме того, сбережения, которые вы получаете от этого, незначительны, если вы / ваш сервер используете сжатие gzip. то есть:

 Uncompressed, un-minified page: 2209 bytes Compressed, un-minified page: 959 bytes Uncompressed, minified page: 1973 bytes Compressed, minified page: 914 bytes 

Последние два момента:

  1. Минимизация HTML делает его почти невозможным для чтения, поэтому удача устраняет что-то.
  2. Большие страницы обычно имеют лучшие коэффициенты сжатия, особенно если данные повторяются.

Это можно сделать аккуратно с помощью библиотеки PHPWee Minifier. Он минимизирует HTML (включая HTML5) без нарушения условных комментариев.

1. Установите PHPWee

2. Используйте PHPWee для сжатия вашего HTML-кода.

 require_once ("phpwee-php-minifier/phpwee.php"); function compress_html($html) { return PHPWee\Minify::html($html); }