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

Joh*_*ith 14 html css jquery summernote

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

sdf
42342
xxcv
Run Code Online (Sandbox Code Playgroud)

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

或另一件事:

[{"_type":"ServerOperation","operationType":"ANNOUNCE"}]
Run Code Online (Sandbox Code Playgroud)

becames

<span class="message_content">[{"_type":"ServerOperation","operationType":"ANNOUNCE"}]</span>
Run Code Online (Sandbox Code Playgroud)

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

Dil*_*rov 23

试试这个:

var plainText = $($("#summernote").code()).text()
Run Code Online (Sandbox Code Playgroud)

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

var plainText = $($("#summernote").summernote("code")).text()
Run Code Online (Sandbox Code Playgroud)

  • 强大,并避免在 hmtl 上使用正则表达式。这必须是公认的答案! (2认同)

Alv*_*oro 17

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

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

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

例如,With [{"_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, "");
Run Code Online (Sandbox Code Playgroud)


Gla*_*igo 5

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

当前的 Summernote 版本 (8):

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

在我的旧版本中:

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

  • 这很有用,但不能按原样工作。我必须将“.code()”更改为“.summernote('code')”才能正常工作。 (2认同)