Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

There are multiple ways to remove HTML from text using JavaScript. Here are four common methods:

Method 1: Using a Regular Expression

The simplest way is to use a regular expression to replace all HTML tags with an empty string:

function removeHtmlTags(htmlText) {
  return htmlText.replace(/(<([^>]+)>)/gi, "");
}

This function takes a string of HTML text as input and returns the same text with all HTML tags removed.

Method 2: Creating a Temporary Element

Another approach is to create a temporary element, set its innerHTML property to the input HTML text, and then extract the text content:

function removeHtmlTags(htmlText) {
  let temp = document.createElement("div");
  temp.innerHTML = htmlText;
  return temp.textContent || temp.innerText;
}

This function creates a new div element, sets its innerHTML property to the input HTML text, and then returns the text content of the div element, which contains no HTML.

Method 3: Using a jQuery Function

If you are using the jQuery library, you can use the text() function to retrieve the text content of an HTML element, which automatically removes any HTML tags:

function removeHtmlTags(htmlText) {
  return $("<div>").html(htmlText).text();
}

This function creates a new jQuery object by wrapping a div element around the input HTML text, and then calls the text() function to extract the text content.

Method 4: Using a DOMParser Object

Finally, you can use the DOMParser object to parse the input HTML text and extract the text content:

function removeHtmlTags(htmlText) {
  let parser = new DOMParser();
  let doc = parser.parseFromString(htmlText, "text/html");
  return doc.body.textContent || doc.body.innerText;
}

This function creates a new DOMParser object, uses it to parse the input HTML text as a document, and then returns the text content of the document body.