首頁  >  文章  >  後端開發  >  在 Laravel 11 中使用輔助函數將 Markdown 轉換為 HTML

在 Laravel 11 中使用輔助函數將 Markdown 轉換為 HTML

WBOY
WBOY原創
2024-07-18 11:28:11432瀏覽

Using Helper Functions to Convert Markdown to HTML in Laravel 11

在本教學中,我們將在 Laravel 應用程式中建立輔助函數,以使用 league/commonmark 函式庫將 Markdown 內容轉換為 HTML。我們將介紹建立幫助程式檔案、將其包含在 Laravel 專案中以及在 Blade 範本中使用它的步驟。 Laravel 11 中使用了這個機制來使函數全域可用。

可選:在控制器中處理 Markdown 轉換

另一種方法是在將資料傳遞到視圖之前在控制器中處理 Markdown 轉換,因此我們不再需要建立輔助檔案:

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 步:安裝 league/commonmark

首先,我們透過 Composer 安裝 league/commonmark 函式庫:

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 中使用輔助函數將 Markdown 轉換為 HTML的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn