首页 后端开发 php教程 在 Laravel 11 中使用辅助函数将 Markdown 转换为 HTML

在 Laravel 11 中使用辅助函数将 Markdown 转换为 HTML

Jul 18, 2024 am 11:28 AM

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

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

11个最佳PHP URL缩短脚本(免费和高级) 11个最佳PHP URL缩短脚本(免费和高级) Mar 03, 2025 am 10:49 AM

11个最佳PHP URL缩短脚本(免费和高级)

在Laravel中使用Flash会话数据 在Laravel中使用Flash会话数据 Mar 12, 2025 pm 05:08 PM

在Laravel中使用Flash会话数据

简化的HTTP响应在Laravel测试中模拟了 简化的HTTP响应在Laravel测试中模拟了 Mar 12, 2025 pm 05:09 PM

简化的HTTP响应在Laravel测试中模拟了

Instagram API简介 Instagram API简介 Mar 02, 2025 am 09:32 AM

Instagram API简介

构建具有Laravel后端的React应用程序:第2部分,React 构建具有Laravel后端的React应用程序:第2部分,React Mar 04, 2025 am 09:33 AM

构建具有Laravel后端的React应用程序:第2部分,React

php中的卷曲:如何在REST API中使用PHP卷曲扩展 php中的卷曲:如何在REST API中使用PHP卷曲扩展 Mar 14, 2025 am 11:42 AM

php中的卷曲:如何在REST API中使用PHP卷曲扩展

在Codecanyon上的12个最佳PHP聊天脚本 在Codecanyon上的12个最佳PHP聊天脚本 Mar 13, 2025 pm 12:08 PM

在Codecanyon上的12个最佳PHP聊天脚本

宣布 2025 年 PHP 形势调查 宣布 2025 年 PHP 形势调查 Mar 03, 2025 pm 04:20 PM

宣布 2025 年 PHP 形势调查

See all articles