如何从summernote编辑器获取纯文本?

时间:2015-04-09 12:01:15

标签: jquery html css summernote

例如,这就是我输入的内容:

sdf
42342
xxcv

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

或其他事情:

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

becames

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

如何获取纯文本/纯文本?

6 个答案:

答案 0 :(得分:20)

试试这个:

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

修改: 在较新的版本中,您需要使用它:

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

答案 1 :(得分:14)

您可以在.code()之后应用问题JavaScript: How to strip HTML tags from string?的前两个答案之一来删除标记。

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><br>替换为\n

$("#summernote").code()
                .replace(/<\/p>/gi, "\n")
                .replace(/<br\/?>/gi, "\n")
                .replace(/<\/?[^>]+(>|$)/g, "");

答案 2 :(得分:3)

你可以用这个

   var code = $("#editor").code();
var text = code.replace(/<p>/gi, " ");
var plainText= $("<div />").html(text).text();

答案 3 :(得分:2)

较新版本

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

添加虚拟标签

解决了格式化不足的问题。

答案 4 :(得分:2)

我需要检查textarea是否有任何内容。这就是诀窍:

目前的夏令营版本(8):

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

在旧版本中:

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

答案 5 :(得分:1)

尝试一下:)

$('#summernote').summernote ('code', '<b> hello world </ b>');