Я протестировал несколько небольших регулярных выражений для сжатия HTML, и все они в основном делают большую работу
$reg = array(
'/^\n+|^[\t\s]*\n+/m',
'/\s\s+/',
'/\r|\n/isU',
'/\t/isU'
);
$rep = array(
'',
' ',
' ',
' '
);
----------------------
$reg = array(
'/\n/', // replace end of line by a space
'/\>[^\S ]+/s', // strip whitespaces after tags, except space
'/[^\S ]+\</s', // strip whitespaces before tags, except space
'/(\s)+/s' // shorten multiple whitespace sequences
);
$rep = array(
' ',
'>',
'<',
'\\1'
);
------------------------------
$reg ='/\s\s+/';
$rep =" ";
----------------------
$reg = "/(\n\r|\r\n|\n|\r|\t| {2})/";
$rep ="";
$new_content = preg_replace($reg, $rep, $content);
Но мне нужен тот, который исключит содержимое тегов pre и script из сжатия.
Любая помощь приветствуется.
Задача ещё не решена.
Других решений пока нет …