function removeOtherTags(node) { var domList = ['P', 'B', 'U', 'I', 'STRIKE', 'FONT', 'UL', 'LI', 'OL', 'SPAN', 'STRONG', 'EM', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6']; for (var i = 0; i < node.childNodes.length; i++) { var childNode = node.childNodes[i]; if (childNode.nodeType === Node.ELEMENT_NODE) { if (domList.indexOf(childNode.tagName) == -1) { if (childNode.innerText) { var spanNode = document.createElement('p'); spanNode.textContent = childNode.innerText; childNode.parentNode.insertBefore(spanNode, childNode); } node.removeChild(childNode); i--; } else { var attributes = childNode.attributes; for (var j = 0; j < attributes.length; j++) { var attr = attributes[j]; if (attr.name !== 'style' && attr.name !== 'class' && attr.name !== 'color' && attr.name !== 'face') { childNode.removeAttribute(attr.name); j--; } } removeOtherTags(childNode); } } } } function filterHTMLTags(htmlString) { return htmlString.replace(/<[^>]*>?/gm, ''); } function formatHTMLFunc(htmlString) { try { var parser = new DOMParser(); var doc = parser.parseFromString(htmlString, 'text/html').body; removeOtherTags(doc); return doc.innerHTML; } catch (err) { return filterHTMLTags(htmlString); } }