Example #1
0
 public static function HTMLMin($input)
 {
     if (trim($input) === "") {
         return $input;
     }
     $input = preg_replace_callback('#<([^\\/\\s<>!]+)(?:\\s+([^<>]*?)\\s*|\\s*)(\\/?)>#s', function ($matches) {
         return '<' . $matches[1] . preg_replace('#([^\\s=]+)(\\=([\'"]?)(.*?)\\3)?(\\s+|$)#s', ' $1$2', $matches[2]) . $matches[3] . '>';
     }, str_replace("\r", "", $input));
     if (strpos($input, ' style=') !== false) {
         $input = preg_replace_callback('#<([^<]+?)\\s+style=([\'"])(.*?)\\2(?=[\\/\\s>])#s', function ($matches) {
             return '<' . $matches[1] . ' style=' . $matches[2] . Template::CSSMin($matches[3]) . $matches[2];
         }, $input);
     }
     return preg_replace(array('#<(img|input)(>| .*?>)#s', '#(<!--.*?-->)|(>)(?:\\n*|\\s{2,})(<)|^\\s*|\\s*$#s', '#(<!--.*?-->)|(?<!\\>)\\s+(<\\/.*?>)|(<[^\\/]*?>)\\s+(?!\\<)#s', '#(<!--.*?-->)|(<[^\\/]*?>)\\s+(<[^\\/]*?>)|(<\\/.*?>)\\s+(<\\/.*?>)#s', '#(<!--.*?-->)|(<\\/.*?>)\\s+(\\s)(?!\\<)|(?<!\\>)\\s+(\\s)(<[^\\/]*?\\/?>)|(<[^\\/]*?\\/?>)\\s+(\\s)(?!\\<)#s', '#(<!--.*?-->)|(<[^\\/]*?>)\\s+(<\\/.*?>)#s', '#<(img|input)(>| .*?>)<\\/\\1>#s', '#(&nbsp;)&nbsp;(?![<\\s])#', '#(?<=\\>)(&nbsp;)(?=\\<)#', '#\\s*<!--(?!\\[if\\s).*?-->\\s*|(?<!\\>)\\n+(?=\\<[^!])#s'), array('<$1$2</$1>', '$1$2$3', '$1$2$3', '$1$2$3$4$5', '$1$2$3$4$5$6$7', '$1$2$3', '<$1$2', '$1 ', '$1', ""), $input);
 }
Example #2
0
 function voidEngineAction($name)
 {
     switch (mb_strtolower($name)) {
         case "engine.getjavascript":
             header('Content-Type: application/javascript');
             $files = glob(__DIR__ . "/../../template/assets/js/*");
             $jsFiles = "";
             foreach ($files as $value) {
                 $jsFiles .= file_get_contents($value) . PHP_EOL;
             }
             exit(Template::JSMin($jsFiles));
             break;
         case "engine.getcss":
             header("Content-Type: text/css");
             $files = glob(__DIR__ . "/../../template/assets/css/*");
             $cssFiles = "";
             foreach ($files as $value) {
                 $cssFiles .= file_get_contents($value) . PHP_EOL;
             }
             exit(Template::CSSMin($cssFiles));
             break;
         default:
             //Template::load404error();
             break;
     }
 }