/gi, ''); html = html.replace(//gi, ''); html = html.replace(//gi, ''); } // Build allowed tags regex let result = html; if (allowedTagsStr) { const tags = allowedTagsStr.split(',').map(t => t.trim().replace(/[<>]/g, '')).filter(Boolean); if (tags.length) { // Remove all tags except allowed ones const pattern = '<(?!\\/?(' + tags.join('|') + ')(\\s[^>]*)?\\/?>)[^>]*>'; result = html.replace(new RegExp(pattern, 'gi'), ''); } else { result = html.replace(/<[^>]*>/g, ''); } } else { result = html.replace(/<[^>]*>/g, ''); } // Handle line breaks if (keepNewlines) { result = result.replace(//gi, '\n'); result = result.replace(/<\/p>/gi, '\n'); result = result.replace(/<\/div>/gi, '\n'); result = result.replace(/<\/li>/gi, '\n'); result = result.replace(/<\/h[1-6]>/gi, '\n\n'); } // Decode HTML entities const ta = document.createElement('textarea'); ta.innerHTML = result; result = ta.value; // Clean up multiple blank lines result = result.replace(/\n{3,}/g, '\n\n').trim(); $('#output').value = result; const len = result.length; $('#status').textContent = len + ' characters'; } function loadExample() { $('#input').value = '\nMy Page\n\n

    Welcome to GameZipper

    \n

    This is a free online tool that helps you remove HTML tags.

    \n
      \n
    • Fast & easy
    • \n
    • No signup required
    • \n
    • 100% browser-based
    • \n
    \n \n\n'; removeTags(); } $('#input').addEventListener('input', removeTags); $('#toolbar').innerHTML=``; GZ.renderToolPage({category:'text',titleKey:'toolTitle',descKey:'toolDesc',howToSteps:['step1','step2','step3'],related:[{icon:'🔤',href:'/text/html-encoder-decoder.html',name:'HTML Encoder/Decoder'},{icon:'📝',href:'/text/word-counter.html',name:'Word Counter'}]}); loadExample();