17

例如,这是我输入的:

sdf
42342
xxcv

.code()将其转换为sdf<br>42342<br>xxcv

或另一件事:

[{"_type":"ServerOperation","operationType":"ANNOUNCE"}]

变成了

<span class="message_content">[{"_type":"ServerOperation","operationType":"ANNOUNCE"}]</span>

如何获得纯/纯文本?

4

6 回答 6

30

试试这个:

var plainText = $($("#summernote").code()).text()

编辑:在较新的版本中,您需要使用它:

var plainText = $($("#summernote").summernote("code")).text()
于 2016-06-22T10:58:12.650 回答
20

您可以应用 JavaScript 问题的前两个答案之一:如何从字符串中去除 HTML 标记?, 之后.code()剥离标签。

ReactiveRaven 的回答(保持一行)对我来说很好:

cleanText = $("#summernote").code().replace(/<\/?[^>]+(>|$)/g, "");

例如,使用[{"_type":"ServerOperation","operationType":"ANNOUNCE"}]

  • $("#summernote").code()返回

    <p>[{"_type":"ServerOperation","operationType":"ANNOUNCE"}]<br></p>

  • $("#summernote").code().replace(/<\/?[^>]+(>|$)/g, "")返回

    [{"_type":"ServerOperation","operationType":"ANNOUNCE"}]

    没有任何标签。


如果你想保留回车,你可以在应用链接问题上指定的解决方案之前替换</p>and :<br>\n

$("#summernote").code()
                .replace(/<\/p>/gi, "\n")
                .replace(/<br\/?>/gi, "\n")
                .replace(/<\/?[^>]+(>|$)/g, "");
于 2015-04-09T13:00:07.507 回答
5

我需要检查 textarea 是否有任何内容。这已经成功了:

当前的summernote版本(8):

$($("#summernote").summernote('code').replace(/&nbsp;|<br>/g, ' ')).text().trim() == ''

在我的旧版本中:

$($("#summernote").code().replace(/&nbsp;|<br>/g, ' ')).text().trim() == ''
于 2018-04-20T07:42:22.093 回答
4

你可以用这个

   var code = $("#editor").code();
var text = code.replace(/<p>/gi, " ");
var plainText= $("<div />").html(text).text();
于 2015-11-02T11:38:42.230 回答
2

较新的版本

var contents = $('#summernote').summernote('code');
var plainText = $("<p>" + contents+ "</p>").text();

添加虚拟标签

解决格式缺失问题。

于 2017-09-25T11:37:03.170 回答
-2

试试这个 :)

$('#summernote').summernote ('code', '<b> hello world </ b>');
于 2019-04-29T10:06:41.447 回答