php - 如何在 Laravel 5 表单中使用 Markdown 作为文本区域输入字段?

标签 php laravel laravel-5 markdown

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

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

最佳答案

如果你想将 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.");
        }
    }
}

但正如我所说,您不应该这样做,因为如果您的数据库中有大量记录,那么它会占用大量存储空间。如果没有,也不会造成伤害。

相反,将原始 Markdown 输入保存在数据库中,而不将其转换为 HTML,然后在 View 中将输入转换为 HTML:

config/app.php 中为 Markdown 外观添加别名:

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

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

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

关于php - 如何在 Laravel 5 表单中使用 Markdown 作为文本区域输入字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35056968/

相关文章:

php - 我如何将此示例 if else 语句转换为数组以用作 echo 语句/函数?

php - 创建像 twitch 或 ustream 这样的流媒体网站?

php - 获取数组的前 N ​​个元素?

php - Laravel:未定义 Action App\Http\Controllers\NotesController@store

php - Laravel 访问关系 - 检查模型中是否存在数据

Laravel 测试未验证数据库约束

php - MYsql使用与连接表相同的字段

php - 如何在 Laravel 5.4 中使用 has-many-through 关系查询 3 个表

php - 数据库查询: Select row where and where

laravel - 发送没有主题的 Laravel Mailable