【问题标题】:TinyMCE and LaravelTinyMCE 和 Laravel
【发布时间】:2015-07-04 20:38:28
【问题描述】:

我正在尝试在我的 Laravel 项目中使用 tinyMCE。问题是当我存储新文章时,html 标签不起作用。它们在我的 laravel 视图中显示为纯文本:

这是create.blade.php中实现的代码:

<script type="text/javascript" src="{{ asset('/js/tinymce/tinymce.min.js') }}"></script>
<script type="text/javascript">
    tinymce.init({
        selector : "textarea",
        plugins : ["advlist autolink lists link image charmap print preview anchor", "searchreplace visualblocks code fullscreen", "insertdatetime media table contextmenu paste jbimages"],
        toolbar : "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image jbimages",
    });
</script>

【问题讨论】:

  • 标记在 Laravel 中默认被转义。你是用{!! $article-&gt;content !!}而不是{{ $article-&gt;content }}来渲染你的身体吗?
  • {{$article->body}} 我正在这样使用它。但是我的表格是这样写的:{!!表单::open() !!}
  • 现在可以使用了!谢谢!
  • 很高兴它有帮助。已发布答案以供将来参考。

标签: php laravel tinymce laravel-views


【解决方案1】:

标记在 Laravel 中默认被转义。如果您将文本存储在包含标记的数据库中,您可能希望将 getter 应用到 Eloquent 模型中,以便为您取消转义,或者使用以下 Blade 语法:

{!! $model->text !!}

在处理未转义的输出时,我强烈建议使用 valid_elements 属性限制可以在 TinyMCE 编辑器中应用的标签。

【讨论】:

    猜你喜欢
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-29
    • 2012-06-01
    相关资源
    最近更新 更多