javascript — требуется регулярное выражение для сжатия html, но исключаются теги pre, textarea и script. Переполнение стека

Я протестировал несколько небольших регулярных выражений для сжатия 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 из сжатия.

Любая помощь приветствуется.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …