<!DOCTYPE html> <html> <head> <title>Comment Remover</title> <meta name="description" content="Reemoves Comments from code automatically"> <script src="https://cdn.counter.dev/script.js" data-id="d5378282-a7bf-4de1-b215-693a25f3b961" data-utcoffset="2"></script> <style> body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; background-color: #333; margin: 0; display: flex; justify-content: center; align-items: center; min-height: 100vh; flex-direction: column; } .container { max-width: 600px; width: 100%; background-color: #1a1a1a; border-radius: 8px; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); padding: 20px; } .header { text-align: center; font-size: 28px; color: #fff; margin-bottom: 20px; } .code-wrapper { position: relative; margin-bottom: 20px; } textarea { width: 100%; height: 200px; border: 1px solid #444; border-radius: 4px; padding: 10px; font-size: 16px; resize: vertical; color: #eee; background-color: #1a1a1a; } .result { white-space: pre-wrap; word-wrap: break-word; background-color: #222; padding: 10px; border: 1px solid #444; border-radius: 4px; font-size: 16px; color: #eee; } .button-container { display: flex; justify-content: flex-end; } .button { background-color: #4CAF50; color: #fff; border: none; border-radius: 4px; padding: 10px 20px; font-size: 16px; cursor: pointer; transition: background-color 0.2s; margin-top: 10px; } .button:hover { background-color: #45a049; } .copy-feedback { position: absolute; bottom: 0; right: 0; font-size: 14px; color: #4CAF50; opacity: 0; transition: opacity 0.3s; } .code-wrapper:hover .copy-feedback { opacity: 1; } .code-wrapper:hover .copy-feedback::before { content: 'Copied!'; position: absolute; right: 100%; margin-right: 5px; } </style> </head> <body> <div class="container"> <div class="header">Comment Remover</div> <label for="code" style="color: #eee;">Select language:</label> <select id="language" style="color: #111; background-color: #f1f1f1;"> <option value="javascript">JavaScript</option> <option value="java">Java</option> <option value="c">C</option> <option value="html">HTML</option> <option value="python">Python</option> <option value="cpp">C++</option> <option value="php">PHP</option> <option value="csharp">C#</option> <option value="r">R</option> <option value="typescript">TypeScript</option> <option value="swift">Swift</option> <option value="objective-c">Objective-C</option> <option value="ruby">Ruby</option> <option value="perl">Perl</option> <option value="go">Go</option> <option value="scala">Scala</option> <option value="rust">Rust</option> <option value="kotlin">Kotlin</option> <option value="dart">Dart</option> <option value="lua">Lua</option> <option value="haskell">Haskell</option> <option value="bash">Bash</option> <option value="powershell">PowerShell</option> <option value="sql">SQL</option> <option value="elixir">Elixir</option> <option value="erlang">Erlang</option> <option value="vbnet">VB.NET</option> <option value="matlab">MATLAB</option> <option value="clojure">Clojure</option> <option value="groovy">Groovy</option> <option value="cobol">COBOL</option> <option value="fortran">Fortran</option> <option value="perl6">Perl 6</option> <option value="pascal">Pascal</option> <option value="swift">Swift</option> <option value="vba">VBA</option> <option value="scala">Scala</option> <option value="scheme">Scheme</option> <option value="tcl">Tcl</option> <option value="verilog">Verilog</option> <option value="vhdl">VHDL</option> <option value="hack">Hack</option> <option value="awk">Awk</option> <option value="abap">ABAP</option> <option value="apacheconf">ApacheConf</option> <option value="apl">APL</option> <option value="autohotkey">AutoHotkey</option> <option value="clojure">Clojure</option> <option value="cobol">COBOL</option> <option value="coffeescript">CoffeeScript</option> <option value="crystal">Crystal</option> <option value="cuda">CUDA</option> </select><br> <div class="code-wrapper"> <textarea id="code" placeholder="Paste your code here..."></textarea> <div class="copy-feedback"></div> </div> <div class="button-container"> <button class="button" onclick="autoDetectLanguage()">Auto Detect Language</button><br><br> <button class="button" onclick="removeComments()">Remove Comments</button> </div> <div class="result" id="result"></div> </div> <script> function autoDetectLanguage() { const codeInput = document.getElementById('code'); const resultOutput = document.getElementById('result'); const code = codeInput.value.trim(); const commentPatterns = { 'javascript': /\/\/.*|\/\*[^]*?\*\//g, 'java': /\/\/.*|\/\*[^]*?\*\//g, 'c': /\/\*[^]*?\*\//g, 'html': /<!--.*?-->/g, 'python': /#.*/g, 'cpp': /\/\/.*|\/\*[^]*?\*\//g, 'php': /\/\/.*|\/\*[^]*?\*\//g, 'csharp': /\/\/.*|\/\*[^]*?\*\//g, 'r': /#.*|\/\*[^]*?\*\//g, 'typescript': /\/\/.*|\/\*[^]*?\*\//g, 'swift': /\/\/.*|\/\*[^]*?\*\//g, 'objective-c': /\/\/.*|\/\*[^]*?\*\//g, 'ruby': /#.*|=begin[^]*?=end/g, 'perl': /#.*|\/\*[^]*?\*\//g, 'go': /\/\/.*|\/\*[^]*?\*\//g, 'scala': /\/\/.*|\/\*[^]*?\*\//g, 'rust': /\/\/.*|\/\*[^]*?\*\//g, 'kotlin': /\/\/.*|\/\*[^]*?\*\//g, 'dart': /\/\/.*|\/\*[^]*?\*\//g, 'lua': /--.*|\/\*[^]*?\*\//g, 'haskell': /--.*|\/\*[^]*?\*\//g, 'bash': /#.*/g, 'powershell': /#.*/g, 'sql': /--.*|\/\*[^]*?\*\//g, 'elixir': /#.*|\/\*[^]*?\*\//g, 'erlang': /%.*|\/\*[^]*?\*\//g, 'vbnet': /'.*/g, 'matlab': /%.*|\/\*[^]*?\*\//g, 'clojure': /;.*/g, 'groovy': /\/\/.*|\/\*[^]*?\*\//g, 'cobol': /.*\*\$/g, 'fortran': /!.*|\/\*[^]*?\*\//g, 'perl6': /#.*|\/\*[^]*?\*\//g, 'pascal': /\(\*.*?\*\)|\/\/.*|{.*?}/g, 'vba': /'.*/g, 'scala': /\/\/.*|\/\*[^]*?\*\//g, 'scheme': /;.*|\/\*[^]*?\*\//g, 'tcl': /#.*|\/\*[^]*?\*\//g, 'verilog': /\/\/.*|\/\*[^]*?\*\//g, 'vhdl': /--.*|\/\*[^]*?\*\//g, 'hack': /\/\/.*|\/\*[^]*?\*\//g, 'awk': /#.*|\/\*[^]*?\*\//g, 'abap': /'.*|\/\*[^]*?\*\//g, 'apacheconf': /#.*|<\/\*[^]*?\*\//g, 'apl': /⍝.*/g, 'autohotkey': /;.*/g, 'clojure': /;.*/g, 'cobol': /.*\*\$/g, 'coffeescript': /#.*|###[^]*?###/g, 'crystal': /#.*|\/\*[^]*?\*\//g, 'cuda': /\/\/.*|\/\*[^]*?\*\//g, }; let detectedLanguage = 'plaintext'; for (const language in commentPatterns) { if (code.match(commentPatterns[language])) { detectedLanguage = language; break; } } const languageDropdown = document.getElementById('language'); languageDropdown.value = detectedLanguage; removeComments(); } function removeComments() { const codeInput = document.getElementById('code'); const resultOutput = document.getElementById('result'); const language = document.getElementById('language').value; const code = codeInput.value; const commentPatterns = { 'javascript': /\/\/.*|\/\*[^]*?\*\//g, 'java': /\/\/.*|\/\*[^]*?\*\//g, 'c': /\/\*[^]*?\*\//g, 'html': /<!--.*?-->/g, 'python': /#.*/g, 'cpp': /\/\/.*|\/\*[^]*?\*\//g, 'php': /\/\/.*|\/\*[^]*?\*\//g, 'csharp': /\/\/.*|\/\*[^]*?\*\//g, 'r': /#.*|\/\*[^]*?\*\//g, 'typescript': /\/\/.*|\/\*[^]*?\*\//g, 'swift': /\/\/.*|\/\*[^]*?\*\//g, 'objective-c': /\/\/.*|\/\*[^]*?\*\//g, 'ruby': /#.*|=begin[^]*?=end/g, 'perl': /#.*|\/\*[^]*?\*\//g, 'go': /\/\/.*|\/\*[^]*?\*\//g, 'scala': /\/\/.*|\/\*[^]*?\*\//g, 'rust': /\/\/.*|\/\*[^]*?\*\//g, 'kotlin': /\/\/.*|\/\*[^]*?\*\//g, 'dart': /\/\/.*|\/\*[^]*?\*\//g, 'lua': /--.*|\/\*[^]*?\*\//g, 'haskell': /--.*|\/\*[^]*?\*\//g, 'bash': /#.*/g, 'powershell': /#.*/g, 'sql': /--.*|\/\*[^]*?\*\//g, 'elixir': /#.*|\/\*[^]*?\*\//g, 'erlang': /%.*|\/\*[^]*?\*\//g, 'vbnet': /'.*/g, 'matlab': /%.*|\/\*[^]*?\*\//g, 'clojure': /;.*/g, 'groovy': /\/\/.*|\/\*[^]*?\*\//g, 'cobol': /.*\*\$/g, 'fortran': /!.*|\/\*[^]*?\*\//g, 'perl6': /#.*|\/\*[^]*?\*\//g, 'pascal': /\(\*.*?\*\)|\/\/.*|{.*?}/g, 'vba': /'.*/g, 'scala': /\/\/.*|\/\*[^]*?\*\//g, 'scheme': /;.*|\/\*[^]*?\*\//g, 'tcl': /#.*|\/\*[^]*?\*\//g, 'verilog': /\/\/.*|\/\*[^]*?\*\//g, 'vhdl': /--.*|\/\*[^]*?\*\//g, 'hack': /\/\/.*|\/\*[^]*?\*\//g, 'awk': /#.*|\/\*[^]*?\*\//g, 'abap': /'.*|\/\*[^]*?\*\//g, 'apacheconf': /#.*|<\/\*[^]*?\*\//g, 'apl': /⍝.*/g, 'autohotkey': /;.*/g, 'clojure': /;.*/g, 'cobol': /.*\*\$/g, 'coffeescript': /#.*|###[^]*?###/g, 'crystal': /#.*|\/\*[^]*?\*\//g, 'cuda': /\/\/.*|\/\*[^]*?\*\//g, }; const pattern = commentPatterns[language] || /(?:)/; const result = code.replace(pattern, ''); resultOutput.textContent = result; copyToClipboard(result); } function copyToClipboard(text) { const tempInput = document.createElement('textarea'); tempInput.value = text; document.body.appendChild(tempInput); tempInput.select(); document.execCommand('copy'); document.body.removeChild(tempInput); const copyFeedback = document.querySelector('.copy-feedback'); copyFeedback.textContent = 'Copied!'; setTimeout(() => { copyFeedback.textContent = ''; }, 1500); } </script> </body> </html>