Laravel 11 でヘルパー関数を使用してマークダウンを HTML に変換する

WBOY
リリース: 2024-07-18 11:28:11
オリジナル
401 人が閲覧しました

Using Helper Functions to Convert Markdown to HTML in Laravel 11

このチュートリアルでは、Laravel アプリケーションでヘルパー関数を作成し、league/commonmark ライブラリを使用して Markdown コンテンツを HTML に変換します。ヘルパー ファイルを作成し、それを Laravel プロジェクトに組み込み、Blade テンプレートで使用する手順について説明します。このメカニズムは、関数をグローバルに利用できるようにするために Laravel 11 で使用されています。

オプション: コントローラーでのマークダウン変換の処理

別の方法は、データをビューに渡す前にコントローラーでマークダウン変換を処理することです。これにより、ヘルパー ファイルを作成する必要がなくなりました。

use League\CommonMark\CommonMarkConverter;

public function show($id)
{
    $course = Course::find($id);
    $converter = new CommonMarkConverter();

    $post->description = $converter->convertToHtml($post->description);

    return view('post.show', compact('post'));
}
ログイン後にコピー

ブレード テンプレートで変換機能を使用できるようにするためのヘルパー ファイルの作成

ステップ 1: リーグ/コモンマークをインストールする

まず、Composer 経由でリーグ/コモンマーク ライブラリをインストールします。

composer require league/commonmark
ログイン後にコピー

ステップ 2: helpers.php ファイルを作成する

次に、ヘルパー関数を定義するための helpers.php ファイルを作成します。このファイルは、アプリ ディレクトリまたはその他の任意の場所に配置できます。

touch app/helpers.php
ログイン後にコピー

app/helpers.php を開き、次のコンテンツを追加します:

<?php

use League\CommonMark\CommonMarkConverter;

if (! function_exists('markdownToHtml')) {
    function markdownToHtml($markdown) {
        $converter = new CommonMarkConverter();
        return $converter->convertToHtml($markdown);
    }
}
ログイン後にコピー

ステップ 3: Composer にヘルパー ファイルを含める

Laravel が helpers.php ファイルを自動的にロードできるようにするには、composer.json ファイルを変更して autoload セクションに helpers.php へのパスを追加する必要があります。

"autoload": {
    "files": [
        "app/helpers.php"
    ]
}
ログイン後にコピー

ステップ 4: Composer 自動ロード ファイルを再生成する

composer.json を変更した後、次のコマンドを実行して Composer 自動ロード ファイルを再生成します。

composer dump-autoload
ログイン後にコピー

ステップ 5: ブレード テンプレートでヘルパー関数を使用する

ヘルパー関数を定義してロードすると、それを Blade テンプレートで使用して Markdown を HTML に変換できるようになります。

<div>
    {!! markdownToHtml($post->description) !!}
</div>
ログイン後にコピー

このチュートリアルは、ブレード テンプレートでカスタム関数を使用できるようにする方法を示すために提供されています。

以上がLaravel 11 でヘルパー関数を使用してマークダウンを HTML に変換するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!