登録日:
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) !!}
必要であれば、画像や拡張構文、カスタムプラグインも追加できますよ。
どんな用途で使いたいか教えてもらえれば、さらに具体的にサポートできます!