在我基于 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/