如何使用 PHP 输出压缩的 HTML 代码

前面我介绍了可以使用 Minify 这个工具和其 WordPress 插件对 CSS 和 JS 进行最小化压缩和合并,但是对于服务器输出的 HTML 代码,是否也可以进行压缩呢?

下面就是一个对 HTML 进行压缩的 PHP 函数:

function wpjam_minify_html($html) {
    
    return preg_replace(
        $search = array(
            '/\>
    [^\S ]+/s',  // 删除标签后面空格
            '/[^\S ]+\<
    /s',  // 删除标签前面的空格
            '/(\s)+/s'       // 将多个空格合并成一个
        ), 
        array(
            '>
    ',
            '<
    ',
            '\\1'
        ), 
        $html
    );

}
    
[/code]


对于 WordPress 博客来说,将上面的函数和下面的代码复制到当前主题的 <
    code>
    functions.php<
    /code>
 文件中,就可以实现输出页面 HTML 代码的压缩:

[code]
if(!is_admin()){
    
	add_action("wp_loaded", 'wp_loaded_minify_html');

	function wp_loaded_minify_html(){
    
		ob_start('wpjam_minify_html');

	}

}