繁体   English   中英

删除html标签,但保留换行符

[英]Removing html tags but keep breaklines

我们需要用html标记组成一个文本,并且不带(用于邮件),所以我已经让ckeditor用html标记组成文本,但是当我删除带有脚本的标记时,所有的换行符都消失了,因为脚本会删除<p>标签。 我只剩下一长串文本,而不是下降的布局。 任何人都知道我如何保持突破线吗?

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();
            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;
        }

我知道这不是我编写过的最漂亮的代码,但是它确实可以实现我想要的功能。 谢谢您的帮助

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

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

错误:

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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM