首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在summernote中转义HTML

在summernote中转义HTML
EN

Stack Overflow用户
提问于 2015-11-12 14:17:14
回答 2查看 7.7K关注 0票数 5

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

我习惯于在夏季笔记中使用Javascript

代码语言:javascript
复制
      $('.summernote').summernote({
      lang: 'cs-CZ',
      height: 100,
      airMode: true,
      prettifyHtml: true
  });

这是wysiwyg的屏幕截图(在air模式下,所以不显示工具),控制台检查它的值。

wysiwyg的拿铁模板:

代码语言:javascript
复制
 <textarea name="{$key}" class="summernote form-control" >{$value->value|noescape}</textarea> 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-26 11:55:52

最新的Summernote (截至此答案的版本为0.7)有一些更改,如果您习惯于使用以前的版本(或在Internet上为以前的版本编写的资源(大多数版本都是这样),则可能会出现问题。

您不应该再在summernote中使用textarea。应该是div。但是您不能在表单post中提交一个div,因为您需要使用一个hidden textarea,它的适当形式id/name和html属性绑定到summernote事件。initblur.

下面是一个示例:

服务器端

这是ASP.NET Razor系统税,我相信你能搞清楚什么是什么

代码语言:javascript
复制
<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>

客户端

代码语言:javascript
复制
$(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
            ....
        });
});
票数 8
EN

Stack Overflow用户

发布于 2020-09-03 19:12:26

今天也发生了类似的事情,所以我用这样的方式解决了这个问题:

代码语言:javascript
复制
$('.summernote', elmnOfContext).summernote({
    lang: 'pl-PL',
    toolbar: [
        ['edit', ['undo', 'redo']]
        //...    
    ],
    callbacks: {
        onInit: function() {
            //The trick:
            var textarea = $(this);
            textarea.val(textarea.summernote("code"));
        }
    }
});

由于该解决方案,即使用户不做任何更改,也正确地转义了被视为textarea值的源。简单地说,当summernote编辑器开始时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33673544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档