0

HTMLマークアップを使用して(メールの場合)テキストを作成する必要があるため、HTMLマークアップを使用してテキストを作成するためにckeditorがありますが、スクリプトでマークアップを削除すると、スクリプトが<p>タグを削除するため、ブレークラインがなくなります。そして、降下レイアウトではなく、1 つの長いテキスト文字列が残っています。ブレークラインを維持する方法を知っている人はいますか?

function strip(){
        var html = CKEDITOR.instances.Maintext.getData();
        var text = $(html).text(); 
        document.getElementById('nohtmltext').value = text;
    }
4

3 に答える 3

1

与えられた答えからいくつかの助けを借りて解決策を見つけました。

function strip(){
            var html = CKEDITOR.instances.Maintext.getData();
            html = html.replace(/<p>/g,'');
            html = html.replace(/<\/p>/g,'\n\n');
            var tempDiv = document.createElement('div');
            tempDiv.innerHTML = html;
            var text = $(tempDiv).text(); 
            document.getElementById('nohtmltext').value = text;
        }

これは私が今までに書いた中で最も美しいコードではないことはわかっていますが、まさに私が望んでいたことを実行します。助けてくれてありがとう

于 2013-03-22T14:36:36.257 に答える
0

間違い:

function strip(){
        var html = CKEDITOR.instances.Maintext.getData();
        var text = $(html).text(); 
        document.getElementById('nohtmltext').value = text;
}

良い:

function strip(){
    var html = CKEDITOR.instances.Maintext.getData();
    document.getElementById('nohtmltext').innerHTML = html;
}
于 2013-03-20T14:01:46.087 に答える
0

これに対する 1 つの解決策は、すべての「p-tag」を「\n」に置き換えることです。

html.replace('<p>','').replace('</p>','\n\n').text(); // not tested
于 2013-03-20T12:18:18.660 に答える