【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

Simple HTML DOM Parser でコメントアウト部分を消す方法

こんにちは!
Webシステム部の長谷です。

今回は、PHPでHTMLを解析することができる「Simple HTML DOM Parser」を使用して、
HTMLのコメント部分(<!-- -->)を除去する方法をご紹介します。

というのも、とある案件にてSimple HTML DOM Parserを使用して
HTMLの最適化を行っていたのですが、
その際、使い方など色々と調査をしていたのですが、
コメントに関しては触れられている方があまりいなかった(あまり使わないから?)ので
備忘録も兼ねてここに残しておこうと思った次第であります。

Simple HTML DOM Parserの導入

ライブラリのダウンロード

Simple HTML DOM Parser

マニュアル

PHP Simple HTML DOM Parser Manual

対象HTMLファイル

comment_out.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="utf-8">
    <title>株式会社ビヨンド</title>
</head>
<body>
    <!-- 会社名 -->
    <h1>株式会社ビヨンド</h1>
 
    <!-- ビヨンドの企業理念 -->
    <h2>「共に創り支え続ける」</h2>
    <h3>私たちビヨンドの仕事は、ITを通じて新しい価値を創造する人々を支えること。</h3>
    <p>それは決して華々しい仕事ではないが、ユーザーがより快適に・楽しく生活するためにはなくてはならない存在だと考えます。
    単なるシステムサービスのみではなく、創り手のビジネスチャンスを広げるための"人の輪"や"情報"を提供することにより、
    互いに成長できる関係を長期的に作りあげることを使命とします。</p>
 
    <!--
        上記の「会社名」「ビヨンドの企業理念」のように一行のコメントはもちろん
        このように複数行に渡って
        記述されているコメントも
        削除することが可能です
    -->
</body>
</html>

実行PHPの作成

ライブラリを読み込む

1
require_once 'simple_html_dom.php';

対象HTMLを読み込む

1
$html = file_get_html('comment_out.html');

コメント部分を抽出して除去

1
2
3
foreach ($html->find("comment") as $comment) {
    $comment->outertext = "";
}

$html->find("comment") でコメント部分を配列で抽出でき、
$comment->outertext = ""; で要素を空文字(除去)にできます。

保存する

1
2
$body = $html->save();
$html->clear();

ファイルに書き込む

1
file_put_contents("comment_out_delete.html", $body);

完成したPHPファイル

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
// ライブラリを読み込む
require_once 'simple_html_dom.php';
 
// 対象HTMLを読み込む
$html = file_get_html('comment_out.html');
 
// コメント部分を抽出して除去
foreach ($html->find("comment") as $comment) {
    $comment->outertext = "";
}
 
// 保存する
$body = $html->save();
$html->clear();
 
// ファイルに書き込む
file_put_contents("comment_out_delete.html", $body);
?>

PHP実行後のHTMLファイル

comment_out_delete.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="utf-8">
    <title>株式会社ビヨンド</title>
</head>
<body>
     
    <h1>株式会社ビヨンド</h1>
 
     
    <h2>「共に創り支え続ける」</h2>
    <h3>私たちビヨンドの仕事は、ITを通じて新しい価値を創造する人々を支えること。</h3>
    <p>それは決して華々しい仕事ではないが、ユーザーがより快適に・楽しく生活するためにはなくてはならない存在だと考えます。
    単なるシステムサービスのみではなく、創り手のビジネスチャンスを広げるための"人の輪"や"情報"を提供することにより、
    互いに成長できる関係を長期的に作りあげることを使命とします。</p>
 
     
</body>
</html>

正常にコメントが除去されましたね。

最後に

私が所属するシステム開発のサービスサイト「SEKARAKU Lab(セカラク ラボ)」を開設しました。
ビヨンドは、サーバーの設計・構築から運用までをワンストップでお任せいただけますので、サーバーサイド開発でお困りの方はお気軽にお問い合わせください。
SEKARAKU Lab:[https://sekarakulab.beyondjapan.com/](https://sekarakulab.beyondjapan.com/)

以上となります。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
1,590
X facebook はてなブックマーク pocket
【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

この記事をかいた人

About the author

長谷竜弥

新卒にて株式会社ビヨンドに入社。

Webシステム開発(Webサービス・デジタルコンテンツ・業務管理システム などのブラウザで動くサービス、システムの開発)や、ゲームAPI(アプリゲームとの通信部分のプログラム開発)を行っている。

また、Shopify のプライベート / カスタムアプリの開発も行っている。

元々は大阪オフィスに勤めていたが、2019年に横浜オフィスに転勤。
趣味は野球 / カラオケ / アニメ