function _minify_html in Minify 7
Helper function to minify HTML
1 call to _minify_html()
- minify_process_html in ./
minify.module - Implements hook_process_html()
File
- ./
minify.module, line 129
Code
function _minify_html($buffer) {
/* Replace <textarea> with placeholder */
$buffer = preg_replace_callback('/\\s*<textarea(\\b[^>]*?>[\\s\\S]*?<\\/textarea>)\\s*/i', '_minify_html_callback', $buffer);
/* Replace <pre> with placeholder */
$buffer = preg_replace_callback('/\\s*<pre(\\b[^>]*?>[\\s\\S]*?<\\/pre>)\\s*/i', '_minify_html_callback', $buffer);
/* Replace <iframe> with placeholder */
$buffer = preg_replace_callback('/\\s*<iframe(\\b[^>]*?>[\\s\\S]*?<\\/iframe>)\\s*/i', '_minify_html_iframe_callback', $buffer);
/* Replace <script> with placeholder */
$buffer = preg_replace_callback('/\\s*<script(\\b[^>]*?>[\\s\\S]*?<\\/script>)\\s*/i', '_minify_html_script_callback', $buffer);
/* Replace <style> with placeholder */
$buffer = preg_replace_callback('/\\s*<style(\\b[^>]*?>[\\s\\S]*?<\\/style>)\\s*/i', '_minify_html_style_callback', $buffer);
/* Remove HTML comment */
$buffer = preg_replace_callback('/<!--([\\s\\S]*?)-->/', '_minify_html_html_comment', $buffer);
$search = array(
'/\\>[^\\S ]+/s',
// remove whitespaces after tags, except space
'/[^\\S ]+\\</s',
// remove whitespaces before tags, except space
'/(\\s)+/s',
// shorten multiple whitespace sequences
'/\\s+(<\\/?(?:area|base(?:font)?|blockquote|body' . '|caption|center|col(?:group)?|dd|dir|div|dl|dt|fieldset|form' . '|frame(?:set)?|h[1-6]|head|hr|html|legend|li|link|map|menu|meta' . '|ol|opt(?:group|ion)|p|param|t(?:able|body|head|d|h||r|foot|itle)' . '|ul)\\b[^>]*>)/i',
// remove whitespaces around block/undisplayed elements
'/^\\s+|\\s+$/m',
);
$replace = array(
'>',
// remove whitespaces after tags, except space
'<',
// remove whitespaces before tags, except space
'\\1',
// shorten multiple whitespace sequences
'$1',
// remove whitespaces around block/undisplayed elements
'',
);
$buffer = preg_replace($search, $replace, $buffer);
/* Find and replace <textarea>, <pre>, <iframe>, <script> and <style> place holders values */
global $placeholders;
if (!empty($placeholders)) {
$buffer = str_replace(array_keys($placeholders), array_values($placeholders), $buffer);
}
return $buffer;
}