I want to remove all the html tags except <br>
or <br/>
tags from a string using javascript.
I have seen many questions like this but their answers will remove all the html tags including <br>
and <br/>
tags.
Does anyone knows a regex to do this?
Use a negative lookahead (by using a regex such as /<(?!br\s*\/?)[^>]+>/g
):
var html = 'this is my <b>string</b> and it\'s pretty cool<br />isn\'t it?<br>Yep, it is. <strong>More HTML tags</strong>';
html = html.replace(/<(?!br\s*\/?)[^>]+>/g, '');
console.log(html);
// this is my string and it's pretty cool<br />isn't it?<br>Yep, it is. More HTML tags
Demo
Try This
function remove_tags(html)
{
var html = html.replace("<br>","||br||");
var tmp = document.createElement("DIV");
tmp.innerHTML = html;
html = tmp.textContent||tmp.innerText;
return html.replace("||br||","<br>");
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With