- Optimisation>Minification -
- Publié le : | Modifié le :
Minifier votre code HTML CSS JS
Quelques exemples de code PHP pour pouvoir minifier vos fichier HTML, CSS et JavaScript.
1) Minifier le javascript.
- function compress_js($buffer) {
- /* remove comments */
- $buffer = preg_replace("/((?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:\/\/.*))/", "", $buffer);
- /* remove tabs, spaces, newlines, etc. */
- $buffer = str_replace(array("\r\n","\r","\t","\n",' ',' ',' '), '', $buffer);
- /* remove other spaces before/after ) */
- $buffer = preg_replace(array('(( )+\))','(\)( )+)'), ')', $buffer);
- return $buffer;
- }
2) Minifier le CSS.
- // this function gets rid of tabs, line breaks, and white space
- function compress_css($buffer)
- {
- $buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
- $buffer = str_replace(array("\r\n", "\r", "\n", "\t", ' '), '', $buffer);
- $buffer = str_replace('{ ', '{', $buffer);
- $buffer = str_replace(' }', '}', $buffer);
- $buffer = str_replace('; ', ';', $buffer);
- $buffer = str_replace(', ', ',', $buffer);
- $buffer = str_replace(' {', '{', $buffer);
- $buffer = str_replace('} ', '}', $buffer);
- $buffer = str_replace(': ', ':', $buffer);
- $buffer = str_replace(' ,', ',', $buffer);
- $buffer = str_replace(' ;', ';', $buffer);
- return $buffer;
- }
3) Minifier le HTML.
- // this function gets rid of tabs, line breaks, and white space
- function compress_html($compress)
- {
- $search = 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)+/s', // shorten multiple whitespace sequences
- '/<!--(.|\s)*?-->/', // supprime les commentaires html
- '!/\*[^*]*\*+([^/][^*]*\*+)*/!' // supprime les commentaires css
- );
- $replace = array(
- ' ',
- '>',
- '<',
- '><',
- '\\1',
- '',
- ''
- );
- return preg_replace($search, $replace, $compress);
- }
4) Inclure la fonction.
- <?php
- ob_start('compress_html');
- header("Content-Type: text/html; charset=UTF-8");
- /* TRAITEMENT DE LA MISE EN CACHE VIA LES HEADERS */
- ?>
- <!-- LE CODE HTML ICI -->
- <?php ob_end_flush();
- function compress_html($compress){...}
- ?>