Laravel markdown渲染输出到blade模版

本文介绍了如何在Laravel项目中将Markdown内容渲染并输出到Blade模板。首先,需要根据Laravel和PHP版本安装合适的Laravel Markdown扩展包,解决可能的安装问题。接着,配置providers和alias,将相关文件复制到项目中。然后,在控制器中使用Markdown::convertToHtml()方法转换Markdown内容。在Blade模板中,可以使用@markdown和@endmarkdown指令来显示Markdown内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址:https://www.wjcms.net/archives/laravelmarkdown%E6%B8%B2%E6%9F%93%E8%BE%93%E5%87%BA%E5%88%B0blade%E6%A8%A1%E7%89%88

前言

昨天,发布了laravel支持markdown编辑器的文章,还附上了配置图片上传,但是有网友问怎么在blade模版中渲染输出,这里写个文章记录一下。

安装扩展包

Laravel Markdown需要PHP 7.2-8.0 。此特定版本支持Laravel 6-8。

对照上边的表,选择对应合适的版本,这里我的版本是8,所以安装13.1版本。

composer require graham-campbell/markdown:^13.1

在我安装的时候发现报错:

PHP Fatal error:  Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///www/server/php/74/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223

Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///www/server/php/74/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223

Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.#   

所以这里我们使用如下命令进行安装:

php -d memory_limit=-1 /usr/bin/composer require graham-campbell/markdown:^13.1

上述命令中的/usr/bin/composer,为composer安装地址 可使用 composer -h 命令进行获取。

配置providers

//cconfig/app.php
'providers' => [
    //添加如下一行
    GrahamCampbell\Markdown\MarkdownServiceProvider::class,
]

配置alias

 'Markdown' => GrahamCampbell\Markdown\Facades\Markdown::class,

拷贝相关文件到项目文件夹中

php artisan vendor:publish --provider="GrahamCampbell\Markdown\MarkdownServiceProvider"

控制器中使用

  1. 简单使用
    use GrahamCampbell\Markdown\Facades\Markdown;
    

Markdown::convertToHtml('foo'); //

foo


2. 依赖注入的写法

use Illuminate\Support\Facades\App; use League\CommonMark\MarkdownConverterInterface;

class Foo { protected $converter;

public function __construct(MarkdownConverterInterface $converter)
{
    $this->converter = $converter;
}

public function bar()
{
    return $this->converter->convertToHtml('foo');
}

}

App::make('Foo')->bar();


# blade模版中使用

@markdown {{$data->content}} @endmarkdown

```

更多内容参考官方文档。 https://github.com/GrahamCampbell/Laravel-Markdown

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值