在本教程中,我们将在 Laravel 应用程序中创建一个辅助函数,以使用 league/commonmark 库将 Markdown 内容转换为 HTML。我们将介绍创建帮助程序文件、将其包含在 Laravel 项目中以及在 Blade 模板中使用它的步骤。 Laravel 11 中使用了这种机制来使函数全局可用。
另一种方法是在将数据传递到视图之前在控制器中处理 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')); }
首先,我们通过 Composer 安装 league/commonmark 库:
composer require league/commonmark
接下来,我们将创建一个 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); } }
为了确保Laravel自动加载helpers.php文件,我们需要修改composer.json文件,在autoload部分添加helpers.php的路径:
"autoload": { "files": [ "app/helpers.php" ] }
修改composer.json后,通过运行以下命令重新生成Composer自动加载文件:
composer dump-autoload
定义并加载辅助函数后,我们现在可以在 Blade 模板中使用它来将 Markdown 转换为 HTML:
<div> {!! markdownToHtml($post->description) !!} </div>
本教程旨在展示我们如何在刀片模板中提供自定义功能。
以上是在 Laravel 11 中使用辅助函数将 Markdown 转换为 HTML的详细内容。更多信息请关注PHP中文网其他相关文章!