在我的基于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
答案 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) }}