删除html标签但保留分隔线

时间:2013-03-20 12:08:52

标签: javascript jquery html ckeditor

我们需要用html标记组成一个文本而不用(用于邮件) 所以我有ckeditor用html标记来构造文本,但是当我用脚本删除标记时,断点行已经消失,因为脚本会删除<p>标记。而且我留下了一长串文字而不是下降布局。 任何人都知道如何保持分隔线?

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

3 个答案:

答案 0 :(得分: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;
        }

我知道这不是我写过的最美丽的代码,但它完全符合我的要求。 谢谢你的帮助

答案 1 :(得分:0)

一种解决方案是用“\ n”替换所有“p-tag”。

html.replace('<p>','').replace('</p>','\n\n').text(); // not tested

答案 2 :(得分: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;
}