Здравствуйте. Поднимаю эту тему потому-что так и не смог найти решения. Есть сайт Сайт Нужно сделать хтмл в одну строку, этого требует заказчик вот и мучаюсь. Пробовал ставить модуль minify. Действительно убирает некоторые переносы. Пробовал сделать как написано в Issue Всё содержимое body стало в одну строку. Но содержимое в head по прежниму с переносами. Такого же результата добился используя решение
Заменить вывод print $page;
На
<?php
$output = str_replace(array("\r\n", "\r"), "\n", $page);
$lines = explode("\n", $output);
$new_lines = array();
foreach ($lines as $i => $line) {
if(!empty($line))
$new_lines[] = trim($line);
}
?>
<?php
print implode($new_lines);
?>
Если кто-нибудь сталкивался с такой задачей помогите пожалуйста уже неделю мучаюсь. Возможно можно что то сделать с шаблоном html.tpl.php применить функцию str_replace ко всем строкам и массивам.
Комментарии
Вы на верном пути, так и надо делать.
Я только начинаю изучать php поэтому не понимаю что нужно сделать. В шаблоне есть 4 массива и несколько строк. Я так понимаю всё нужно собрать в один массив, а потом пропустить через функцию str_replace, но как это сделать?
Приведите пример вашего кода.
<?php print $doctype; ?>
language; ?>" dir="<?php print $language->dir; ?>"<?php print $rdf->version . $rdf->namespaces; ?>>
profile; ?>>
<?php print $head; ?>
<?php print $head_title; ?>
<?php print $styles; ?>
>
<?php print $page_top; ?>
<?php
$output = str_replace(array("\r\n", "\r"), "\n", $page);
$lines = explode("\n", $output);
$new_lines = array();
foreach ($lines as $i => $line) {
if(!empty($line))
$new_lines[] = trim($line);
}
?>
<?php
print preg_replace('/\s+/', ' ', implode($new_lines));
?>
<?php # print $page_top; ?>
<?php print $page; ?>
<?php print $scripts; ?>
<?php # print $page_bottom; ?>
Решение пока не нашёл. Подключил скрипт Dynamic Website Compressor, но он не работает с boost.