PHPでMarkdownファイルをHTMLに変換して表示する方法【Parsedown】

※当サイトでは広告を掲載しています

最近、Markdownで文章を書く機会が増えました。

最初はメモ程度だったのですが、一度Markdownに慣れてしまうと便利なもので、ちょっとした構成案や、記事の下書きなどもMarkdownで書くようになってしまいました。

Markdownはシンプルな記法で文章を構造化できるので、とても扱いやすいです。

そんな中で、「MarkdownファイルをそのままWebページとして公開できないだろうか?」と思い、調べてみたところ、PHPライブラリの『Parsedown』を使うことで簡単に実現できましたので、その手順をメモメモ。

なぜMarkdownを使うのか

HTMLで記事を書くこともできますが、タグをひとつひとつ記述するのは意外と大変です。

その点、Markdownなら必要最低限の記法だけで文章を記述できます。

ソースコードもスッキリするので見やすく、後から修正もしやすくなります。

また、最近ではAIとの相性も良く、Markdown形式で出力してもらう機会も増えているため、そのまま管理しやすいというメリットもあります。

必要なもの

今回使用するのは「Parsedown」というPHPライブラリです。

以下のページにあります。「Parsedown.php」をダウンロードしましょう。

GitHub - erusev/parsedown: Better Markdown Parser in PHP
Better Markdown Parser in PHP. Contribute to erusev/parsedown development by creating an account on GitHub.

ダウンロードした「Parsedown.php」を、FTPなどを利用してサーバへアップロードしてください。

Composerなどを使わなくても、このファイルひとつを配置するだけで利用できます。

使用手順

実際のコードは以下の4行だけです。

include_once('Parsedown.php');
$parser = new Parsedown();
$md = file_get_contents('sample.md');
echo $parser->text($md);

それぞれの処理内容を見ていきましょう。

1行目:Parsedownを読み込む

FTPでアップロードしたParsedown.phpを読み込みます。ディレクトリ構成などは環境に合わせてください。

2行目:インスタンスを生成する

Parsedownクラスをインスタンス化します。

3行目:Markdownファイルを読み込む

file_get_contents()を使用してMarkdownファイルを読み込みます。ここでは「sample.md」というファイルを読み込んでいます。

実際に運用する場合は、ファイルの存在チェックなどをしておきましょう。

4行目:HTMLとして出力する

読み込んだMarkdownをHTMLへ変換し、そのまま出力します。

これだけでMarkdownファイルの内容がHTMLとして表示されます。

さいごに

今回はParsedownを利用して、MarkdownファイルをHTMLとして表示する方法を紹介しました。

例えばURLパラメータでファイル名を受け取り、そのMarkdownファイルを読み込む仕組みにすれば、この4行の処理だけで複数のMarkdownファイルを管理することもできます。

ただし、ユーザーから受け取ったファイル名をそのまま使用すると、意図しないファイルを読み込まれてしまう可能性がありますので、実装する際は、ファイル名の検証やアクセス制限など、セキュリティ面にも十分注意してください。

今日の作業は以上です。お疲れ様でした!

初稿:2026年5月30日

コメント

タイトルとURLをコピーしました