役立つ情報
登録日: 2025-03-23   最終更新日: 2025-03-23
  • Laravel
  • PHP

Laravel で Markdown を変換する方法について

Laravel で Markdown を HTML に変換するには、通常 league/commonmark パッケージを使用します。これは Laravel にもよく統合されていて、シンプルに使えます。

league/commonmark を使う

パッケージのインストール


composer require league/commonmark

コードで変換する


use League\CommonMark\CommonMarkConverter;

$converter = new CommonMarkConverter();
$markdown = <<<MARKDOWN
'# タイトル
これは *Markdown* です。'
MARKDOWN;

$html = $converter->convertToHtml($markdown);

echo $html;

Laravel 9+ なら Illuminate\Support\Str::markdown()

Laravel 9 以降にはビルトインで Markdown サポートがあります(league/commonmark に依存していますが、自動で含まれています)。


use Illuminate\Support\Str;

$markdown = '# Laravel で Markdown';
$html = Str::markdown($markdown);

echo $html;

Blade で使うとき

コンポーネントや Blade で Markdown を変換して表示する場合


{!! Str::markdown($post->body) !!}

※ !! を使うと HTML がエスケープされずにそのまま表示されます(安全なコンテンツだけに使うようにしましょう)。

Markdown 変換をヘルパー関数にしたい場合


if (!function_exists('markdown')) {
    function markdown(string $text): string {
        return \Illuminate\Support\Str::markdown($text);
    }
}

{!! markdown($post->content) !!}

必要であれば、画像や拡張構文、カスタムプラグインも追加できますよ。
どんな用途で使いたいか教えてもらえれば、さらに具体的にサポートできます!


Copyright 役立つ情報.net