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

新手上路,请多包涵

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

 sdf
42342
xxcv

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

或另一件事:

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

成为

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

如何获得纯/纯文本?

原文由 John Smith 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 966
2 个回答

您可以应用问题 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><br>\n 在应用链接的问题之前—

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

原文由 Alvaro Montoro 发布,翻译遵循 CC BY-SA 3.0 许可协议

试试这个:

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

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

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

原文由 Dilshod Zopirov 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题