如何缩小 php 页面 html 输出?

新手上路,请多包涵

我正在寻找可以缩小我的 php 页面 html 输出的 php 脚本或类,就像 google page speed 一样。

我怎样才能做到这一点?

原文由 m3tsys 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 326
2 个回答

CSS 和 JavaScript

考虑以下链接来缩小 Javascript/CSS 文件: https ://github.com/mrclay/minify

HTML

告诉 Apache 使用 GZip 传送 HTML - 这通常会减少大约 70% 的响应大小。 (如果您使用 Apache,配置 gzip 的模块取决于您的版本:Apache 1.3 使用 mod_gzip 而 Apache 2.x 使用 mod_deflate。)

接受编码:gzip、deflate

内容编码:gzip

使用 以下代码片段 通过帮助 ob_start 的缓冲区从 HTML 中删除空格:

 <?php

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
        '/<!--(.|\s)*?-->/' // Remove HTML comments
    );

    $replace = array(
        '>',
        '<',
        '\\1',
        ''
    );

    $buffer = preg_replace($search, $replace, $buffer);

    return $buffer;
}

ob_start("sanitize_output");

?>

原文由 Rakesh Sankar 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您想正确执行此操作,请打开 gzip。你也可以只做这样的事情:

 $this->output = preg_replace(
    array(
        '/ {2,}/',
        '/<!--.*?-->|\t|(?:\r?\n[ \t]*)+/s'
    ),
    array(
        ' ',
        ''
    ),
    $this->output
);

通过将您的 html 变成一行,没有标签,没有换行,没有评论,这删除了大约 30% 的页面大小。里程可能会有所不同

原文由 dogmatic69 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏