如何在Laravel 5表单中使用Markdown for textarea输入字段?

时间:2016-01-28 09:02:25

标签: php laravel laravel-5 markdown

在我的基于Laravel 5的项目中,我使用的是来自http://packalyst.com/packages/package/graham-campbell/markdown的Markdown包。

如何在Laravel 5表单中使用Markdown for textarea输入字段? Yii2找到了一个很好的例子,但需要知道如何在Laravel 5中实现。 Yii2的Markdown演示:http://demos.krajee.com/markdown-demo

1 个答案:

答案 0 :(得分:2)

如果你想将HTML输出存储在数据库中(你不应该是IMO),你可以这样做:

<?php

namespace App\Http\Controllers;

use App\SomeModel;
use Illuminate\Http\Request;
use GrahamCampbell\Markdown\Facades\Markdown;

class SomeController extends Controller
{
    /**
     * Handle form submission of my markdown form.
     *
     * @return redirect
     */
    public function create(Request $request)
    {
        $markdownInput = $request->get('markdown_input');

        $model = new SomeModel();
        $model->html = Markdown::convertToHtml($markdownInput);

        if ($model->save()) {
            return redirect('/success');
        }
        else {
            die("Handle failed submission.");
        }
    }
}

但正如我所说,你不应该因为它需要大量存储 IF 你的数据库中有很多记录。如果没有,它就不会受到伤害。

相反,请将原始markdown输入保存在数据库中,而不将其转换为HTML并将输入转换为视图中的HTML:

config/app.php中为Markdown门面添加别名:

'Markdown' => 'GrahamCampbell\Markdown\Facades\Markdown'

然后在你的观点中你可以做到:

{{ Markdown::convertToHtml($rawMarkdownInputFromTheDatabase) }}