前面已经完成了管理后台的文章管理,在管理后台可以添加、编辑和删除文章,添加和编辑文章的时候,文章内容使用的时候 Markdown 编辑器,但是现在不能解析 Markdown 内容,文章详情内容显示是错乱的,如下所示:
接下来就完善文章详情,让 Markdown 内容的文章正常显示,为了解析 Markdown 内容,我使用 Parsedown 扩展,Parsedown 是一个用 PHP 编写的 Markdown 解析器,使用它可以将 Markdown 格式的内容快速转化成 HTML 格式的内容。
安装扩展
运行如下命令安装扩展:
composer require erusev/parsedown
修改控制器
修改文章控制器为如下内容:
<?php
namespace App\Http\Controllers;
use App\Models\Article;
use Illuminate\Http\Request;
use Parsedown;
class ArticlesController extends Controller
{
public function index(){
$articles = Article::orderBy('created_at', 'desc')->paginate(10);
return view('articles.index',compact('articles'));
}
public function show(Article $article,Parsedown $parsedown){
$article->content = $parsedown->parse($article->content);
return view('articles.show',compact('article'));
}
}
可以看到,在上面的代码中,修改了 show
方法,使用 Parsedown 提供的实例方法 parse
解析 Markdown 内容,再将解析好的内容重新赋值给文章的 content
。
打开文章详情可以看到文章内容正常显示,如下所示: