如何在不激活codeview模式的情况下禁用summernote的丰富文本?

How to disable the enriched text of the summernote without activating the codeview mode?

下午好。我想获取带有HTML标签的文本字符串,但是summernote会解释它们并显示富文本,而我想要的是显示带有标签的文本,但我没有成功:

var content = '<b>Content</b> and <b>tags</b> and <i>HTML</i>';

//I have tried this:
$('#summernote').summernote('code',content);
$('#summernote').val(content);

但结果是这样的:Content and tags and HTML

我想要的是复制并粘贴包含HTML标签的文本,但我不想让summernote解释这些标签。我想要的是,用户在粘贴该文本时无需激活模式 'code view'

即可看到标签

var content = '<b>Content</b> and <b>tags</b> and <i>HTML</i>';

//Initialize the summernote
$('#summernote').summernote({
  height: 200
});

$('#summernote').summernote('code',content);
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.11/summernote-bs4.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.11/summernote-bs4.js"></script>

<div id="summernote">

</div>

美好的一天,我已经设法解决了这个问题。

我的目标是,在从外部来源(单词)粘贴 HTML 内容时,Summernote 不会解释标签,如果它会向我显示一个显示标签的字符串。

像这样:

"Text with HTML and hide tags" ==> “

带有 HTML隐藏标签的文本


”。 =14=]

解决方案是:

  1. 获取复制粘贴的内容

    let contentPasted = $('#summernote').summernote('code');
    
  2. 将符号 (<>) 替换为 (& lt; 和 >)

    let finalContent = contentPasted.replace(/>/g,'&gt;').replace(/</g,'&lt;')
    

有了这个,HTML 代码就不会被解释了: