jquery - How to remove html tags using JavaScript and keep newline? - Stack Overflow

I want to remove rich text from my contenteditable div keep only newline or br tags when paste somethin

I want to remove rich text from my contenteditable div keep only newline or br tags when paste something from clipboard.

I'm trying but its doesn't work /

<div id="editableDiv" contentEditable="true" style="min-height: 200px; border: solid 1px #0099FF;"></div>

<input type="button" value="remove" onclick="strip();">

<script>
function strip() {
    var mydiv = document.getElementById("editableDiv");
    var str  = mydiv.innerHTML;
    str = str.replace(/<br>/gi, "\n");
    str = str.replace(/<(?:.|\s)*?>/g, "");
    mydiv.innerHTML = str;
}
</script>

I copy the text from this page /
I know it doesn't have any <br> tag the text. but how can i do like Twitter does like this? Thanks.

I want to remove rich text from my contenteditable div keep only newline or br tags when paste something from clipboard.

I'm trying but its doesn't work http://jsfiddle/marco83/zkf5jkqu/

<div id="editableDiv" contentEditable="true" style="min-height: 200px; border: solid 1px #0099FF;"></div>

<input type="button" value="remove" onclick="strip();">

<script>
function strip() {
    var mydiv = document.getElementById("editableDiv");
    var str  = mydiv.innerHTML;
    str = str.replace(/<br>/gi, "\n");
    str = str.replace(/<(?:.|\s)*?>/g, "");
    mydiv.innerHTML = str;
}
</script>

I copy the text from this page http://www.jacklmoore./autosize/
I know it doesn't have any <br> tag the text. but how can i do like Twitter does like this? Thanks.

Share Improve this question asked Nov 15, 2015 at 17:09 MarcusMarcus 6272 gold badges13 silver badges19 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 5

Try This

<script>
    function strip() {
        var mydiv = document.getElementById("editableDiv");
        var str = mydiv.innerHTML;
        mydiv.innerHTML = remove_tags(str);
    }


    function remove_tags(html) {
        html = html.replace(/<br>/g, "$br$");
        html = html.replace(/(?:\r\n|\r|\n)/g, '$br$');
        var tmp = document.createElement("DIV");
        tmp.innerHTML = html;
        html = tmp.textContent || tmp.innerText;
        html = html.replace(/\$br\$/g, "<br>");
        return html;
    }
</script>

Example Here

So what i am doing is, i am replace <br> and \n with a placeholder $br$ so as to preserve them and then i am removing all the HTML tags from the string and replacing $br$ back with <br>

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745668851a4639282.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信