HTMLをMarkdownに変換する方法、PHP言語編

2025年9月7日
文字数[959文字] この記事は1分12秒で読めます.

おはようございます.HTMLをMarkdownに変換する方法、PHP言語編を書いています.これでワードプレスのLLMO対策しています.まず、自分はめんどくさがり屋なので、一からHTML(ハイパーテキストマークアップランゲージ)をマークダウン記法に変えるアルゴリズムを作るのは面倒なので今回は先人が作ったライブラリーを使用します.

composer require league/html-to-markdown

因みにこのライブラリーで変換出来ない、YOUTUBEの埋め込みなどは正規表現で置き換えています.

    // カスタム:YouTube埋め込み対応
    $content = preg_replace_callback(
        '#<iframe[^>]+src="https?://www\.youtube\.com/embed/([^"?]+)[^"]*"[^>]*></iframe>#i',
        function ($matches) {
            $id = $matches[1];
            return "\n[![YouTube Video](https://img.youtube.com/vi/{$id}/0.jpg)](https://www.youtube.com/watch?v={$id})\n";
        },
        $content
    );

このライブラリーの使い方は、こちらのリードミーをご確認ください.人様のコードなのでいつサポートが切れるか分からないですが、当分の間は大丈夫そうな気がしています.もしサポートが非対応になったらフォークしてカスタマイズする方法も残されていますので、あまり気にしていませんが・・・.

一番怖いのはAPIの突然のサービス停止です、これが一番厄介だと思うのでこの頃はAPIサービスは極力使用しないように頑張っていますとは言ってもSNS系はAPIサービスに頼るしかないのが現状ですね.

明日へ続く