Html 如何保存和显示从文本编辑器(tinymce)提交的数据?
我正在开发一个网站,其中包含一个帖子提交。当我从texterea保存数据时,我注意到数据是html格式的,而不是纯文本。那么,以文章格式显示数据的最佳方式是什么?我正在使用tinymce编辑器 我使用的是laravel,因此我只是简单地使用Html 如何保存和显示从文本编辑器(tinymce)提交的数据?,html,mysql,database,laravel,Html,Mysql,Database,Laravel,我正在开发一个网站,其中包含一个帖子提交。当我从texterea保存数据时,我注意到数据是html格式的,而不是纯文本。那么,以文章格式显示数据的最佳方式是什么?我正在使用tinymce编辑器 我使用的是laravel,因此我只是简单地使用 auth()->user()->posts()->create([ 'article' => $data['article'], ]); 要调用,我使用{{$data->article}。请注意,我仅具体
auth()->user()->posts()->create([
'article' => $data['article'],
]);
要调用,我使用{{$data->article}
。请注意,我仅具体说明如何仅保存textera输入
这是我的输出
这是数据库
这是预期的输出,没有html标记。
在laravel中,您可以通过多种方式显示html内容。这里有一些例子 方法1:
@php
echo $data->article;
@endphp
方法2:
{{ !! $data->article !! }}
方法3:
{{ !! htmlspecialchars_decode($data->article) !! }}
或
更新:只需使用
即可完成任务。有人能解释原因吗?
只要一个支架
{ !! $data->article !! }
请向我们展示您的投入、您的尝试和您的期望。Stackoverflow不是来写你的家庭作业的。Ajax是一种发送表单而不更新内容的好方法,所以请编辑此问题以更清楚地了解你的代码对不起,问题不好,回复太晚。我编辑了这个问题。希望能在这方面帮助我。是的,先生,我完全知道这一点。我目前的问题是,我不知道如何使我的文章输出与用户在提交html时输入的内容相同。只需调用
{{$data->article}}
即可将其与问题中的html标记一起输出。我想知道在将输入存储到数据库之前是否需要处理它。请尝试使用htmlspecialchars\u decode()或html\u entity\u decode()函数。我已经更新了代码,请使用htmlspecialchars\u decode
或'html\u entity\u decode'检查第三种方法不起作用,先生。仍然没有过滤掉html标记。请使用诸如ckeditor或tinymce之类的rih文本编辑器来显示格式化的html内容我正在使用tinymce编辑器来进行此操作。Html textarea将只生成带有/n
空格的纯文本。请在您的答案中添加一些解释,以便其他人可以从中学习
{ !! $data->article !! }