Вытягиваем html код WordPress в одну строку при помощи php

Как вытянуть html код в одну строку при помощи php. Вытянуть html код можно не только на Вордпресс, а любого файла. Но разберем на примере

Все делается легко и просто.

Вытянуть html код можно не только на Вордпресс, а любого файла. Но разберем на примере популярного движка WordPress.

Итак в самом верху файла index.php вашей темы вставляем:

<?php
// старт буферизации выводимого
ob_start('compress_html');
?>

А в самом конце файла, после тегов html вставляем код, который будет удалять все пробелы и переходы на новую строку, знаки табуляции и прочую ерунду и выдавать весь код одной строкой. Очень полезно при оптимизации сайта.

<?php
// конец буферизации и вывод сжатого html кода
ob_end_flush();
// Эта функция избавляется от переносов, пробелов и т.д.
function compress_html($compress)
{  
$compress = str_replace("\n", '', $compress);
$compress = str_replace("\s", '', $compress);
$compress = str_replace("\r", '', $compress);
$compress = str_replace("\t", '', $compress);
$compress = preg_replace('/(?:(?<=\>)|(?<=\/\>))\s+(?=\<\/?)/', '', $compress);
 
    if (FALSE === strpos($c, '<pre')) {
        $compress = preg_replace('/\s+/', ' ', $compress);
     }
 
     if (FALSE === strpos($c, 'function goMobile()')) {
        $compress = preg_replace('/\s+/', ' ', $compress);
     }
  // удалить новые строки,за которыми пробелы
	$compress = preg_replace('/[\t\r]\s+/', ' ', $compress);
  // но сохранить комментарии IE 
	$compress = preg_replace('/<!(--)([^\[|\|])^(<!-->.*<!--.*-->)/', '', $compress);
  // и скрыть css комменты
	$compress = preg_replace('/\/\*.*?\*\//', '', $compress);
 
return preg_replace("#\\s+#ism"," ",$compress);
}
?>

Аналогичные вставки php кода делаем и в файле single.php

Этот материал впервые был опубликован 24 октября 2015 года. Актуальность информации подтверждена 16 января 2024 году.