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: How to strip HTML tags from string?の上位 2 つの回答のいずれかを適用できます。の後に.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>and<br>を置き換えることができます。\n

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

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

現在の 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 に答える