Add this simple function into your theme’s template.php in order to strip out unnecessary whitespace and line breaks, saving a bit of file size where possible (I saved 17kb from my homepage). If a page contains a <pre> or <textarea> tag, it is left alone, as to not affect code blocks or text typed in a form.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
// Minify HTML output. function sonspring_process_html(&$vars) { $before = array( "/>\s\s+/", "/\s\s+</", "/>\t+</", "/\s\s+(?=\w)/", "/(?<=\w)\s\s+/" ); $after = array('> ', ' <', '> <', ' ', ' '); // Page top. $page_top = $vars['page_top']; $page_top = preg_replace($before, $after, $page_top); $vars['page_top'] = $page_top; // Page content. if (!preg_match('/<pre|<textarea/', $vars['page'])) { $page = $vars['page']; $page = preg_replace($before, $after, $page); $vars['page'] = $page; } // Page bottom. $page_bottom = $vars['page_bottom']; $page_bottom = preg_replace($before, $after, $page_bottom); $vars['page_bottom'] = $page_bottom . drupal_get_js('footer'); } |