前面已经完成了管理后台的文章管理,在管理后台可以添加、编辑和删除文章,添加和编辑文章的时候,文章内容使用的时候 Markdown 编辑器,但是现在不能解析 Markdown 内容,文章详情内容显示是错乱的,如下所示:
image.png

接下来就完善文章详情,让 Markdown 内容的文章正常显示,为了解析 Markdown 内容,我使用 Parsedown 扩展,Parsedown 是一个用 PHP 编写的 Markdown 解析器,使用它可以将 Markdown 格式的内容快速转化成 HTML 格式的内容。

安装扩展

运行如下命令安装扩展:

  1. composer require erusev/parsedown

修改控制器

修改文章控制器为如下内容:

  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Article;
  4. use Illuminate\Http\Request;
  5. use Parsedown;
  6. class ArticlesController extends Controller
  7. {
  8. public function index(){
  9. $articles = Article::orderBy('created_at', 'desc')->paginate(10);
  10. return view('articles.index',compact('articles'));
  11. }
  12. public function show(Article $article,Parsedown $parsedown){
  13. $article->content = $parsedown->parse($article->content);
  14. return view('articles.show',compact('article'));
  15. }
  16. }

可以看到,在上面的代码中,修改了 show方法,使用 Parsedown 提供的实例方法 parse解析 Markdown 内容,再将解析好的内容重新赋值给文章的 content

打开文章详情可以看到文章内容正常显示,如下所示:
image.png