Remove HTML Tags in Javascript with Regex
Solution 1:
Try this, noting that the grammar of HTML is too complex for regular expressions to be correct 100% of the time:
var regex = /(<([^>]+)>)/ig
, body = "<p>test</p>"
, result = body.replace(regex, "");
console.log(result);
If you're willing to use a library such as jQuery, you could simply do this:
console.log($('<p>test</p>').text());
Solution 2:
This is an old question, but I stumbled across it and thought I'd share the method I used:
var body = '<div id="anid">some <a href="link">text</a></div> and some more text';
var temp = document.createElement("div");
temp.innerHTML = body;
var sanitized = temp.textContent || temp.innerText;
sanitized
will now contain: "some text and some more text"
Simple, no jQuery needed, and it shouldn't let you down even in more complex cases.