web-dev-qa-db-ja.com

summernoteエディターからプレーンテキストを取得する方法は?

たとえば、これは私が入力したものです:

_sdf
42342
xxcv
_

.code()はそれを_sdf<br>42342<br>xxcv_に変換します

または別のもの:

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

なった

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

純粋な/プレーンテキストを取得する方法?

13
John Smith

質問の上位2つの回答のいずれかを適用できます JavaScript:HTMLタグを文字列から削除する方法?.code()の後にタグを削除します。

ReactiveRavenの答え(1行に保つ)は私にとってうまくいきます:

_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, "");
_
16
Alvaro Montoro

これを試してください:

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

[〜#〜] edit [〜#〜]:新しいバージョンでは、代わりにこれを使用する必要があります。

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

これを使用できます

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

テキストエリアにコンテンツがあるかどうかを確認する必要がありました。これはトリックをしました:

現在のサマーノートバージョン(8):

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

私の古いバージョンでは:

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

新しいバージョン

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

ダミータグの追加

フォーマットの不足を解決します。

2
Toms Tony

これを試して :)

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