通过htaccess缩小动态PHP页面

And*_*ira 1 html php .htaccess minify

我有一个文件都是php文件的网站,在服务器上我们也有htaccess对友好网址进行重写,即/ about

我们已经通过PHP缩小了JS和CSS,但是由于HTML在实际页面上的事实是有一种方法在php添加到页面的动态位之后但在服务器发回之前缩小html对客户?

我已经尝试实现minify,但是回调函数会破坏页面而没有错误.

Kri*_*que 7

<doctype html>标记或配置文件之前使用此选项

function sanitize_output($buffer)
{
    $search = array(
        '/\>[^\S ]+/s',  // strip whitespaces after tags, except space
        '/[^\S ]+\</s',  // strip whitespaces before tags, except space
        '/(\s)+/s'       // shorten multiple whitespace sequences
        );
    $replace = array(
        '>',
        '<',
        '\\1'
        );
    $buffer = preg_replace($search, $replace, $buffer);
    return $buffer;
}
ob_start("sanitize_output");
Run Code Online (Sandbox Code Playgroud)


Spu*_*ley 5

如果我们正在讨论动态缩小动态的一切,我会建议你谨慎看待这是一个优化.

是的,可能会节省大量带宽.是的,您的用户可能会从较小的下载量中获得性能提升.

但是,如果您使用PHP动态缩小文件(这听起来就像您正在做的那样),那么您实际上可能会为最终用户减慢速度.

最小化最好在静态文件上完成.将它们缩小一次,保存它们,并将缩小的文件提供给浏览器,而无需在请求文件时进行任何进一步处理.每次请求文件时都要在PHP中执行此操作可能会产生很大的性能开销,从而很容易抵消较小下载大小的收益.

缩小HTML通常不如Javascript有效."缩小"PHP生成的HTML的最佳方法是从HTML模板文件中删除不必要的空白区域.这通常是一项非常简单的任务,并且不需要专门的minifier工具 - 最简单的方法就是从文件中删除所有缩进.白色空间与HTML相关,因此您不能完全摆脱它,但丢失缩进应该处理大部分内容,同时方便地保留文件的合理可读性.

所以我的建议是尽可能静态地缩小文件.但是如果你必须动手做,不要使用PHP来完成工作.使用专用服务器插件,例如Google的mod_pagespeed.这个插件会在请求时缩小文件(以比PHP更快的速度),并且还负责缓存缩小版本,以最大限度地降低性能影响.

希望有所帮助.