迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > PHP >

压缩 PHP 页面的 HTML 输出

作者:迹忆客 最近更新:2023/03/28 浏览次数:

本文将讨论压缩 PHP 页面的 HTML 输出。


压缩 PHP 页面的 HTML 输出

我们压缩输出以提高整体网站性能和用户体验。 该过程涉及为网站用户删除不必要的文件,并减少网站页面的页面大小和加载时间。

此外,网站用户可以通过压缩页面最大限度地减少资源或数据使用。 压缩过程消除了不必要的细节、换行符、注释和过多的空格。

该过程的缺点是降低了代码的可读性。 压缩时,您可以将文件大小减少 70%。

您可以手动或自动压缩 HTML 输出。

有多种工具可以恢复代码中的空格。 但是,您无法恢复对脚本中存在的注释所做的更改。 让我们看一个例子。

<html>

<head>

<!-- This content will show on the browser -->

<title>Title Page</title>

</head>

<body>

<!-- This is a comment. -->

<h1>迹忆客 Tutorials!</h1>
</body>

</html>

上面的文件有很多空格、换行符和两条注释。 如果我们要缩小文件,它看起来像这样。

<html><head><title>Title Page</title></head><body><h1>迹忆客 Tutorials!</h1></body></html>

让我们看看压缩 PHP 页面的 HTML 输出的不同方法。


在 Apache 中使用 GZip 压缩压缩 PHP 页面的 HTML 输出

您可以通过在 Apache 中启用 GZip 压缩来缩小输出。 请按照以下步骤操作。

  1. 找到并打开 Apache 配置文件。 您可以使用记事本进行以下编辑。 目录可能会延迟,具体取决于您的系统,但请确保您打开了 httpd.conf 文件。
    vim /etc/httpd/conf/httpd.conf
    
  2. 在配置文件中,通过添加 # 检查下面的行。
    LoadModule deflate_module modules/mod_deflate.so
    
  3. 将以下行复制并粘贴到配置文件的末尾。
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
    
  4. 重新启动 Apache 服务器。
    sudo service httpd restart
    

使用带有回调的 ob_start() 函数来缩小 PHP 页面的 HTML 输出

您可以使用带有回调的 ob_start() 函数来删除标记、注释和空白序列前后的空白。

让我们看一个示例代码。

<?php
ob_start("minifier");
function minifier($code) {
    $search = array(
        // Remove whitespaces after tags
        '/\>[^\S ]+/s',
        // Remove whitespaces before tags
        '/[^\S ]+\</s',
        // Remove multiple whitespace sequences
        '/(\s)+/s',
        // Removes comments
        '/<!--(.|\s)*?-->/'
    );
    $replace = array('>', '<', '\\1');
    $code = preg_replace($search, $replace, $code);
    return $code;
}
?>
<!DOCTYPE html>
<html>
<head>
<!-- Page Title -->
<title>Sample Minifier</title>
</head>
<body>
<!-- page body -->
<h1>迹忆客 Tutorials!</h1>
</body>
</html>
<?php
ob_end_flush();
?>

运行上面的代码后,我们得到了下面的输出。

<!DOCTYPE html><html><head><title>Sample minifier</title></head><body><h1>迹忆客 Tutorials!</h1></body></html>

使用 HTML Minifier 插件来缩小 PHP 页面的 HTML 输出

我们在服务器端使用 HTML Minifier 作为源代码来优化客户端的输出。 该插件删除了不必要的空格、换行符和注释。

您可以根据需要从一系列优化选项中进行选择。 请按照以下步骤设置您的插件。

  1. 使用下面的链接将 HTML Minifier 文件下载到您的计算机上。
    https://www.terresquall.com/download/HTMLMinifier.php
    
  2. 将下面的代码复制并粘贴到您的 PHP 文件中。
    <?php
    // Import the HTMLMinifier
    require_once 'myfolder/HTMLMinifier.php';
    // HTML source to be minified
    $htmlpage = file_get_contents('./mypage.html');
    // Minified version of the page
    echo HTMLMinifier::process($htmlpage);
    ?>
    
  3. 运行您的 PHP 文件。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 PHP 中获取时间差的分钟数

发布时间:2023/03/29 浏览次数:183 分类:PHP

本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。

PHP 中的重定向

发布时间:2023/03/29 浏览次数:136 分类:PHP

本教程演示了如何将用户从页面重定向到 PHP 中的其他页面

PHP 分页

发布时间:2023/03/29 浏览次数:66 分类:PHP

本教程介绍如何在 PHP 中对数据库行进行分页

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便