在summernote中转义HTML

Kud*_*las 5 html jquery htmlpurifier summernote nette

我正在使用名为summernote的wysiwyg,我发送给服务器的值,我用HTML Purifier净化它.之后我将它保存到DB(mysql).然后我需要在wysiwyg中显示纯化的html,因此将其写为textarea值(textarea在js中与summernote链接).但它显示转义的html而不是格式化文本.编辑器正常工作,js控制台显示没有错误.

Javascript我用来初始化summernote

      $('.summernote').summernote({
      lang: 'cs-CZ',
      height: 100,
      airMode: true,
      prettifyHtml: true
  });
Run Code Online (Sandbox Code Playgroud)

这是wysiwyg的屏幕截图(在空中模式下,因此未显示工具),控制台检查其值.

在此输入图像描述

所见即所得的拿铁模板:

 <textarea name="{$key}" class="summernote form-control" >{$value->value|noescape}</textarea> 
Run Code Online (Sandbox Code Playgroud)

Bog*_*gac 8

最新的Summernote(截至本答复时间为v0.7)如果您习惯使用以前的版本(或者在以前的版本中为大多数人编写的Internet上的资源读取),可能会导致问题.

你不应该再使用textareasummernote了.它应该是一个div.但是你不能用你的表格帖子提交一个div,因为你需要使用一个hidden textarea与其正确的形式id/name和html属性绑定到summernote事件.initblur.

这是一个例子:

服务器端

这是ASP.NET Razor sytax,我相信你可以搞清楚它是什么

<textarea id="@Html.IdFor(p=>p.Content)" name="@Html.IdFor(p=>p.Content)" hidden class="someDummyClassName"></textarea>
<div class="form-control summernote">@Html.Raw(Model.Content)</div>
Run Code Online (Sandbox Code Playgroud)

客户端

$(document).ready(function () {
    $('.summernote').on('summernote.init', function () {
        $('textarea.someDummyClassName').html($('.summernote').summernote("code"))
    }).on("summernote.blur", function () {
        $('textarea.someDummyClassName').html($('.summernote').summernote("code"))
    }).summernote({
        height: 280,
        // YOUR OPTIONS GOES HERE
            ....
        });
});
Run Code Online (Sandbox Code Playgroud)