用PHPWee缩小HTML、CSS、JS?

时间:2017-05-03 作者:Run

我想使用PHPWee 缩小我的网站HTML、CSS和JS。下面是我修改它的代码here:

class WP_HTML_Compression
{
    // Settings
    protected $compress_css = true;
    protected $compress_js = true;
    protected $info_comment = true;
    protected $remove_comments = true;

    // Variables
    protected $html;

    public function __construct($html) 
    {

        if (!empty($html)) {
         $this->parseHTML($html);
        }
    }

    public function __toString()
    {
        return $this->html;
    }

    protected function bottomComment($raw, $compressed)
    {
        $raw = strlen($raw);
        $compressed = strlen($compressed);

        $savings = ($raw-$compressed) / $raw * 100;

        $savings = round($savings, 2);

        return \'<!--HTML compressed, size saved \'.$savings.\'%. From \'.$raw.\' bytes, now \'.$compressed.\' bytes-->\';
    }

    protected function minifyHTML($html)
    {
        require_once ("vendor/phpwee-php-minifier/phpwee.php");
        return \\PHPWee\\Minify::html($html);     
    }

    public function parseHTML($html)
    {
        $this->html = $this->minifyHTML($html);

        if ($this->info_comment) {
            $this->html .= "\\n" . $this->bottomComment($html, $this->html);
        }
    }

    protected function removeWhiteSpace($str)
    {
        $str = str_replace("\\t", \' \', $str);
        $str = str_replace("\\n",  \'\', $str);
        $str = str_replace("\\r",  \'\', $str);

        while (stristr($str, \'  \')) {
            $str = str_replace(\'  \', \' \', $str);
        }

        return $str;
    }
}

function wp_html_compression_finish($html) {
    return new WP_HTML_Compression($html);
}

function wp_html_compression_start() {
    ob_start(\'wp_html_compression_finish\');
}
add_action(\'get_header\', \'wp_html_compression_start\');
但它不起作用。我仍然是未压缩的HTML、CSS、JS输出。它还有一个奇怪的结尾HTML输出的结尾:

....
....
....

</body>
</html>
<?
namespace PHPWee;
require_once("src/CssMin/CssMin.php");
require_once("src/HtmlMin/HtmlMin.php");
require_once("src/JsMin/JsMin.php");


// Open-source (BSD) PHP inline minifier functions for HTML, XHTML, HTML5, CSS 1-3 and Javascript.   
// BSD Licensed  - https://github.com/searchturbine/phpwee-php-minifier/blob/master/LICENSE
// 
// Usage
//  $output =    \\PHPWee\\Minify::html($any_html);
//  $output =     \\PHPWee\\Minify::css($any_css);
//  $output =     \\PHPWee\\Minify::js($any_js);





class Minify{

    public static function html($html){
        return HtmlMin::minify($html);
    }

    public static function css($css){
        return CssMin::minify($css);
    }

    public static function js($js){
        return JsMin::minify($js);
    }

}
发生了什么事?

我怎样才能做好呢?有什么想法吗?

1 个回复
最合适的回答,由SO网友:Run 整理而成

PHPWee中没有什么“bug”。它应该使用<?php 而不是<?:

<?
namespace PHPWee;
require_once("src/CssMin/CssMin.php");
require_once("src/HtmlMin/HtmlMin.php");
require_once("src/JsMin/JsMin.php");


// Open-source (BSD) PHP inline minifier functions for HTML, XHTML, HTML5, CSS 1-3 and Javascript.   
// BSD Licensed  - https://github.com/searchturbine/phpwee-php-minifier/blob/master/LICENSE
// 
// Usage
//  $output =    \\PHPWee\\Minify::html($any_html);
//  $output =     \\PHPWee\\Minify::css($any_css);
//  $output =     \\PHPWee\\Minify::js($any_js);

相关推荐

如果作者没有帖子,则Auth.php不显示内容

我正在制作一个自定义的创世主题,并有一个自定义的作者。php文件,该文件拉入各种自定义字段(使用高级自定义字段),并将作者配置文件页面中的作者元信息添加到页面中。。。它还显示他们的最新帖子。如果作者已经为其分配了帖子,那么这一点非常有效。如果没有,页面将不会输出通常从作者档案中提取的任何内容。。。我搜索了StackExchange,虽然这已经被提到过几次,但我似乎找不到一个有效的答案。我需要作者。php页面输出作者信息,无论用户是否有帖子。如果没有,配置文件元和自定义字段仍应显示,最近的帖子部分不应显示其