PHP ページの HTML 出力を縮小する

John Wachira 2023年6月20日
  1. PHP ページの HTML 出力を縮小する
  2. Apache で GZip 圧縮を使用して PHP ページの HTML 出力を縮小する
  3. コールバックで ob_start() 関数を使用して PHP ページの HTML 出力を縮小する
  4. HTML Minifier プラグインを使用して PHP ページの HTML 出力を縮小する
PHP ページの HTML 出力を縮小する

この記事では、PHP ページの HTML 出力を縮小する方法について説明します。

PHP ページの HTML 出力を縮小する

出力を縮小して、Web サイト全体のパフォーマンスとユーザー エクスペリエンスを向上させます。 このプロセスには、Web サイト ユーザーの不要なファイルを削除し、Web サイト ページのページ サイズと読み込み時間を削減することが含まれます。

さらに、Web サイトのユーザーは、縮小されたページを通じてリソースやデータの使用を最小限に抑えることができます。 縮小プロセスにより、不要な詳細、改行、コメント、および過剰な空白が削除されます。

このプロセスの欠点は、コードの可読性が低下することです。 縮小すると、ファイル サイズを 70% 縮小できます。

HTML 出力を手動または自動で縮小できます。

コード内の空白を復元できるツールがいくつかあります。 ただし、スクリプトにあるコメントに対して行った変更を元に戻すことはできません。 例を見てみましょう。

<html>

<head>

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

<title>Title Page</title>

</head>

<body>

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

<h1>Delftstack Tutorials!</h1>
</body>

</html>

上記のファイルには、多くの空白、改行、および 2つのコメントがあります。 ファイルを縮小すると、次のようになります。

<html><head><title>Title Page</title></head><body><h1>Delftstack Tutorials!</h1></body></html>

PHP ページの HTML 出力を縮小するさまざまな方法を見てみましょう。

Apache で GZip 圧縮を使用して PHP ページの HTML 出力を縮小する

Apache で GZip 圧縮を有効にすると、出力を縮小できます。 以下の手順に従ってください。

  1. Apache 構成ファイルを見つけて開きます。 メモ帳を使用して以下の編集を行うことができます。

    ディレクトリはシステムによって異なりますが、必ず httpd.conf ファイルを開いてください。

vim /etc/httpd/conf/httpd.conf
  1. 構成ファイルで、# を追加して以下の行を確認します。

    LoadModule deflate_module modules/mod_deflate.so
    
  2. 以下の行をコピーして、構成ファイルの末尾に貼り付けます。

    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
    
  3. 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>Delftstack Tutorials!</h1>
</body>
</html>
<?php
ob_end_flush();
?>

上記のコードを実行すると、以下の出力が得られました。

<!DOCTYPE html><html><head><title>Sample minifier</title></head><body><h1>Delftstack 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 ファイルを実行します。

著者: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

関連記事 - PHP HTML