Overview

Namespaces

  • RM
    • AssetsCollector
      • Compilers

Classes

  • BaseAssetsCompiler
  • BaseCssAssetsCompiler
  • BaseJsAssetsCompiler
  • CssSimpleMinificator
  • ImageReplacer
  • ImageToDataStream

Interfaces

  • IAssetsCompiler
  • Overview
  • Namespace
  • Class
  • Tree
 1: <?
 2: namespace RM\AssetsCollector\Compilers;
 3: 
 4: /**
 5:  * CSS minificator.
 6:  *
 7:  * @author Roman Mátyus
 8:  * @copyright (c) Roman Mátyus 2012
 9:  * @license MIT
10:  */
11: class CssSimpleMinificator extends BaseCssAssetsCompiler implements IAssetsCompiler
12: {
13:     /**
14:      * Get compiled content.
15:      * @param   input string
16:      * @return  output string
17:      */
18:     public function compile($input,$dir=null)
19:     {
20:         $this->input = $this->output = $input;
21: 
22:         /* Strips Comments */
23:         $this->output = preg_replace('!/\*.*?\*/!s','', $this->output);
24:         $this->output = preg_replace('/\n\s*\n/',"\n", $this->output);
25: 
26:         /* Minifies */
27:         $this->output = preg_replace('/[\n\r \t]/',' ', $this->output);
28:         $this->output = preg_replace('/ +/',' ', $this->output);
29:         $this->output = preg_replace('/ ?([,:;{}]) ?/','$1',$this->output);
30: 
31:         /* Kill Trailing Semicolon, Contributed by Oliver */
32:         $this->output = preg_replace('/;}/','}',$this->output);
33: 
34:         return $this->getSmaller();
35:     }
36: }
37: 
API documentation generated by ApiGen 2.8.0