{"id":313,"date":"2025-07-26T12:40:10","date_gmt":"2025-07-26T12:40:10","guid":{"rendered":"https:\/\/vijaypandit.in\/?page_id=313"},"modified":"2025-07-26T13:40:31","modified_gmt":"2025-07-26T13:40:31","slug":"extra-spaces-remover","status":"publish","type":"page","link":"https:\/\/vijaypandit.in\/?page_id=313","title":{"rendered":"Extra Spaces Remover"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Extra Spaces Remover Tool<\/title>\n    <style>\n        .gp-extra-spaces-container {\n            max-width: 1200px !important;\n            margin: 20px auto !important;\n            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;\n            color: #000 !important;\n            line-height: 1.6 !important;\n        }\n\n        .gp-extra-spaces-header {\n            background: #FAF9F5 !important;\n            padding: 40px 30px !important;\n            border-radius: 12px !important;\n            text-align: center !important;\n            margin-bottom: 30px !important;\n            box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;\n        }\n\n        .gp-extra-spaces-icon {\n            background: linear-gradient(135deg, #4A90E2, #357ABD) !important;\n            width: 80px !important;\n            height: 80px !important;\n            border-radius: 20px !important;\n            display: flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            margin: 0 auto 20px !important;\n            box-shadow: 0 8px 25px rgba(74, 144, 226, 0.3) !important;\n        }\n\n        .gp-extra-spaces-icon span {\n            color: white !important;\n            font-size: 28px !important;\n            font-weight: 900 !important;\n        }\n\n        .gp-extra-spaces-title {\n            font-size: 2.5em !important;\n            font-weight: 900 !important;\n            color: #000 !important;\n            margin: 0 0 20px 0 !important;\n            text-shadow: 1px 1px 2px rgba(0,0,0,0.1) !important;\n        }\n\n        .gp-extra-spaces-description {\n            background: #CBCADC !important;\n            border-left: 5px solid #D97757 !important;\n            padding: 20px !important;\n            border-radius: 8px !important;\n            font-weight: 700 !important;\n            color: #000 !important;\n            font-size: 1.1em !important;\n            max-width: 800px !important;\n            margin: 0 auto !important;\n            min-height: 60px !important;\n            display: flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n        }\n\n        .gp-extra-spaces-main {\n            display: grid !important;\n            grid-template-columns: 1fr 350px !important;\n            gap: 30px !important;\n            margin-bottom: 30px !important;\n        }\n\n        .gp-extra-spaces-section {\n            background: #fff !important;\n            border: 2px solid #e1e1e1 !important;\n            border-radius: 12px !important;\n            padding: 25px !important;\n            box-shadow: 0 4px 15px rgba(0,0,0,0.08) !important;\n        }\n\n        .gp-extra-spaces-section-title {\n            font-weight: 900 !important;\n            color: #000 !important;\n            font-size: 1.3em !important;\n            margin-bottom: 20px !important;\n            display: flex !important;\n            align-items: center !important;\n            gap: 10px !important;\n        }\n\n        .gp-extra-spaces-section-title::before {\n            content: '' !important;\n            width: 4px !important;\n            height: 20px !important;\n            background: #D97757 !important;\n            border-radius: 2px !important;\n        }\n\n        .gp-extra-spaces-label {\n            font-weight: 700 !important;\n            color: #000 !important;\n            font-size: 1em !important;\n            margin-bottom: 8px !important;\n            display: block !important;\n        }\n\n        .gp-extra-spaces-textarea {\n            width: 100% !important;\n            height: 250px !important;\n            padding: 15px !important;\n            border: 2px solid #ddd !important;\n            border-radius: 8px !important;\n            font-family: 'Courier New', monospace !important;\n            font-size: 14px !important;\n            resize: vertical !important;\n            background: #fff !important;\n            color: #000 !important;\n            font-weight: 600 !important;\n            box-sizing: border-box !important;\n            transition: border-color 0.2s ease !important;\n            margin-bottom: 20px !important;\n        }\n\n        .gp-extra-spaces-textarea:focus {\n            outline: none !important;\n            border-color: #D97757 !important;\n            box-shadow: 0 0 0 3px rgba(217, 119, 87, 0.1) !important;\n        }\n\n        .gp-extra-spaces-options {\n            margin-bottom: 25px !important;\n        }\n\n        .gp-extra-spaces-checkbox-group {\n            display: flex !important;\n            align-items: center !important;\n            margin-bottom: 15px !important;\n        }\n\n        .gp-extra-spaces-checkbox {\n            margin-right: 10px !important;\n            transform: scale(1.2) !important;\n            cursor: pointer !important;\n        }\n\n        .gp-extra-spaces-checkbox-label {\n            font-weight: 700 !important;\n            color: #000 !important;\n            cursor: pointer !important;\n            font-size: 14px !important;\n        }\n\n        .gp-extra-spaces-button {\n            background: #000 !important;\n            color: #fff !important;\n            border: none !important;\n            padding: 12px 20px !important;\n            border-radius: 8px !important;\n            font-weight: 700 !important;\n            font-size: 14px !important;\n            cursor: pointer !important;\n            transition: all 0.2s ease !important;\n            width: 100% !important;\n            margin-bottom: 15px !important;\n            text-transform: uppercase !important;\n            letter-spacing: 0.5px !important;\n        }\n\n        .gp-extra-spaces-button:hover {\n            background: #333 !important;\n            transform: translateY(-1px) !important;\n            box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;\n        }\n\n        .gp-extra-spaces-button:active {\n            transform: translateY(0) !important;\n        }\n\n        .gp-extra-spaces-stats {\n            background: #f8f8f8 !important;\n            padding: 20px !important;\n            border-radius: 8px !important;\n            margin-bottom: 20px !important;\n            border: 2px solid #e1e1e1 !important;\n        }\n\n        .gp-extra-spaces-stat-item {\n            display: flex !important;\n            justify-content: space-between !important;\n            margin-bottom: 10px !important;\n            font-weight: 700 !important;\n            color: #000 !important;\n        }\n\n        .gp-extra-spaces-stat-number {\n            color: #D97757 !important;\n            font-weight: 900 !important;\n        }\n\n        .gp-extra-spaces-progress {\n            width: 100% !important;\n            height: 6px !important;\n            background: #e9ecef !important;\n            border-radius: 3px !important;\n            margin-bottom: 15px !important;\n            overflow: hidden !important;\n        }\n\n        .gp-extra-spaces-progress-fill {\n            height: 100% !important;\n            background: #D97757 !important;\n            border-radius: 3px !important;\n            transition: width 0.3s ease !important;\n            width: 0% !important;\n        }\n\n        .gp-extra-spaces-history {\n            max-height: 150px !important;\n            overflow-y: auto !important;\n            background: #f8f8f8 !important;\n            padding: 15px !important;\n            border-radius: 8px !important;\n            border: 2px solid #e1e1e1 !important;\n        }\n\n        .gp-extra-spaces-history-item {\n            padding: 8px 12px !important;\n            border: 1px solid #e9ecef !important;\n            border-radius: 6px !important;\n            margin-bottom: 8px !important;\n            font-size: 13px !important;\n            color: #000 !important;\n            font-weight: 700 !important;\n            background: white !important;\n        }\n\n        .gp-extra-spaces-success {\n            position: fixed !important;\n            top: 20px !important;\n            right: 20px !important;\n            background: #4CAF50 !important;\n            color: #fff !important;\n            padding: 15px 20px !important;\n            border-radius: 8px !important;\n            font-weight: 700 !important;\n            box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;\n            z-index: 10000 !important;\n            transform: translateX(400px) !important;\n            transition: transform 0.3s ease !important;\n        }\n\n        .gp-extra-spaces-success.show {\n            transform: translateX(0) !important;\n        }\n\n        .gp-extra-spaces-footer {\n            background: #000 !important;\n            color: #fff !important;\n            padding: 20px !important;\n            border-radius: 12px !important;\n            display: flex !important;\n            justify-content: center !important;\n            gap: 15px !important;\n            flex-wrap: wrap !important;\n        }\n\n        .gp-extra-spaces-footer-btn {\n            background: transparent !important;\n            color: #fff !important;\n            border: 2px solid #fff !important;\n            padding: 10px 15px !important;\n            border-radius: 6px !important;\n            font-weight: 700 !important;\n            cursor: pointer !important;\n            transition: all 0.2s ease !important;\n            font-size: 12px !important;\n            text-transform: uppercase !important;\n        }\n\n        .gp-extra-spaces-footer-btn:hover {\n            background: #fff !important;\n            color: #000 !important;\n        }\n\n        @media (max-width: 768px) {\n            .gp-extra-spaces-container {\n                margin: 10px !important;\n            }\n            \n            .gp-extra-spaces-main {\n                grid-template-columns: 1fr !important;\n                gap: 20px !important;\n            }\n            \n            .gp-extra-spaces-header {\n                padding: 25px 20px !important;\n            }\n            \n            .gp-extra-spaces-title {\n                font-size: 2em !important;\n            }\n            \n            .gp-extra-spaces-textarea {\n                height: 200px !important;\n            }\n            \n            .gp-extra-spaces-footer {\n                flex-direction: column !important;\n                gap: 10px !important;\n            }\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"gp-extra-spaces-container\">\n        <div class=\"gp-extra-spaces-header\">\n            <div class=\"gp-extra-spaces-icon\">\n                <span>\u23b5<\/span>\n            <\/div>\n            <h2 class=\"gp-extra-spaces-title\">\ud83e\uddf9 Extra Spaces Remover<\/h2>\n            <div class=\"gp-extra-spaces-description\" id=\"gp-extra-spaces-tip\">\n                Clean up messy text by removing extra spaces, tabs, and line breaks. Perfect for formatting text documents!\n            <\/div>\n        <\/div>\n\n        <div class=\"gp-extra-spaces-main\">\n            <div class=\"gp-extra-spaces-section\">\n                <h3 class=\"gp-extra-spaces-section-title\">\ud83d\udcdd Input Text<\/h3>\n                \n                <label class=\"gp-extra-spaces-label\" for=\"gp-extra-spaces-input\">Original Text<\/label>\n                <textarea \n                    id=\"gp-extra-spaces-input\" \n                    class=\"gp-extra-spaces-textarea\"\n                    placeholder=\"Paste your text with extra spaces here...&#10;Text    with     extra    spaces&#10;Multiple       tabs    and     spaces&#10;&#10;&#10;Extra line breaks\"\n                ><\/textarea>\n\n                <label class=\"gp-extra-spaces-label\" for=\"gp-extra-spaces-output\">Clean Output<\/label>\n                <textarea \n                    id=\"gp-extra-spaces-output\" \n                    class=\"gp-extra-spaces-textarea\"\n                    placeholder=\"Your cleaned text will appear here...\"\n                    readonly\n                ><\/textarea>\n            <\/div>\n\n            <div class=\"gp-extra-spaces-section\">\n                <h3 class=\"gp-extra-spaces-section-title\">\u2699\ufe0f Cleaning Options<\/h3>\n                \n                <div class=\"gp-extra-spaces-progress\">\n                    <div class=\"gp-extra-spaces-progress-fill\" id=\"gp-extra-spaces-progress\"><\/div>\n                <\/div>\n\n                <div class=\"gp-extra-spaces-stats\">\n                    <div class=\"gp-extra-spaces-stat-item\">\n                        <span>Characters Before:<\/span>\n                        <span class=\"gp-extra-spaces-stat-number\" id=\"gp-extra-spaces-before\">0<\/span>\n                    <\/div>\n                    <div class=\"gp-extra-spaces-stat-item\">\n                        <span>Characters After:<\/span>\n                        <span class=\"gp-extra-spaces-stat-number\" id=\"gp-extra-spaces-after\">0<\/span>\n                    <\/div>\n                    <div class=\"gp-extra-spaces-stat-item\">\n                        <span>Characters Saved:<\/span>\n                        <span class=\"gp-extra-spaces-stat-number\" id=\"gp-extra-spaces-saved\">0<\/span>\n                    <\/div>\n                    <div class=\"gp-extra-spaces-stat-item\">\n                        <span>Words Count:<\/span>\n                        <span class=\"gp-extra-spaces-stat-number\" id=\"gp-extra-spaces-words\">0<\/span>\n                    <\/div>\n                    <div class=\"gp-extra-spaces-stat-item\">\n                        <span>Lines Count:<\/span>\n                        <span class=\"gp-extra-spaces-stat-number\" id=\"gp-extra-spaces-lines\">0<\/span>\n                    <\/div>\n                <\/div>\n\n                <div class=\"gp-extra-spaces-options\">\n                    <div class=\"gp-extra-spaces-checkbox-group\">\n                        <input type=\"checkbox\" id=\"gp-extra-spaces-multiple\" class=\"gp-extra-spaces-checkbox\" checked>\n                        <label for=\"gp-extra-spaces-multiple\" class=\"gp-extra-spaces-checkbox-label\">Remove Multiple Spaces<\/label>\n                    <\/div>\n                    <div class=\"gp-extra-spaces-checkbox-group\">\n                        <input type=\"checkbox\" id=\"gp-extra-spaces-tabs\" class=\"gp-extra-spaces-checkbox\" checked>\n                        <label for=\"gp-extra-spaces-tabs\" class=\"gp-extra-spaces-checkbox-label\">Remove Extra Tabs<\/label>\n                    <\/div>\n                    <div class=\"gp-extra-spaces-checkbox-group\">\n                        <input type=\"checkbox\" id=\"gp-extra-spaces-lines\" class=\"gp-extra-spaces-checkbox\" checked>\n                        <label for=\"gp-extra-spaces-lines\" class=\"gp-extra-spaces-checkbox-label\">Remove Extra Line Breaks<\/label>\n                    <\/div>\n                    <div class=\"gp-extra-spaces-checkbox-group\">\n                        <input type=\"checkbox\" id=\"gp-extra-spaces-trim\" class=\"gp-extra-spaces-checkbox\" checked>\n                        <label for=\"gp-extra-spaces-trim\" class=\"gp-extra-spaces-checkbox-label\">Trim Leading\/Trailing Spaces<\/label>\n                    <\/div>\n                    <div class=\"gp-extra-spaces-checkbox-group\">\n                        <input type=\"checkbox\" id=\"gp-extra-spaces-empty\" class=\"gp-extra-spaces-checkbox\">\n                        <label for=\"gp-extra-spaces-empty\" class=\"gp-extra-spaces-checkbox-label\">Remove Empty Lines<\/label>\n                    <\/div>\n                <\/div>\n\n                <button class=\"gp-extra-spaces-button\" onclick=\"gpExtraSpacesProcess()\">\n                    \ud83e\uddf9 Clean Text\n                <\/button>\n                <button class=\"gp-extra-spaces-button\" onclick=\"gpExtraSpacesCopy()\">\n                    \ud83d\udccb Copy Result\n                <\/button>\n                <button class=\"gp-extra-spaces-button\" onclick=\"gpExtraSpacesDownload()\">\n                    \ud83d\udcbe Download\n                <\/button>\n                <button class=\"gp-extra-spaces-button\" onclick=\"gpExtraSpacesClear()\">\n                    \ud83d\uddd1\ufe0f Clear All\n                <\/button>\n            <\/div>\n        <\/div>\n\n        <div class=\"gp-extra-spaces-section\">\n            <h3 class=\"gp-extra-spaces-section-title\">\ud83d\udcdc Operation History<\/h3>\n            <div class=\"gp-extra-spaces-history\" id=\"gp-extra-spaces-history\">\n                <div class=\"gp-extra-spaces-history-item\">Ready to clean your text&#8230;<\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"gp-extra-spaces-footer\">\n            <button class=\"gp-extra-spaces-footer-btn\" onclick=\"gpExtraSpacesUndo()\">Undo Last<\/button>\n            <button class=\"gp-extra-spaces-footer-btn\" onclick=\"gpExtraSpacesExample()\">Load Example<\/button>\n            <button class=\"gp-extra-spaces-footer-btn\" onclick=\"gpExtraSpacesPreview()\">Preview Changes<\/button>\n            <button class=\"gp-extra-spaces-footer-btn\" onclick=\"gpExtraSpacesShowSpaces()\">Show Hidden Spaces<\/button>\n        <\/div>\n\n        <div id=\"gp-extra-spaces-success\" class=\"gp-extra-spaces-success\">\n            Action completed successfully!\n        <\/div>\n    <\/div>\n\n    <script>\n        \/\/ Educational tips rotation\n        const gpExtraSpacesTips = [\n            \"Clean up messy text by removing extra spaces, tabs, and line breaks. Perfect for formatting text documents!\",\n            \"\ud83d\udca1 Remove multiple spaces to clean up copy-pasted text from PDFs and websites!\",\n            \"\ud83e\uddf9 Clean tabs and line breaks to format text consistently across all platforms!\",\n            \"\ud83d\udcdd Trim leading and trailing spaces to remove invisible characters from lines!\",\n            \"\u26a1 Perfect for cleaning up code, emails, documents, and data imports!\",\n            \"\ud83c\udfaf Use 'Show Hidden Spaces' to visualize exactly what will be removed!\",\n            \"\ud83d\udcca Watch the character count decrease as your text becomes cleaner and more efficient!\"\n        ];\n\n        let gpExtraSpacesTipIndex = 0;\n        let gpExtraSpacesUndoStack = [];\n\n        function gpExtraSpacesRotateTips() {\n            const tipElement = document.getElementById('gp-extra-spaces-tip');\n            if (tipElement) {\n                tipElement.style.opacity = '0.5';\n                setTimeout(() => {\n                    gpExtraSpacesTipIndex = (gpExtraSpacesTipIndex + 1) % gpExtraSpacesTips.length;\n                    tipElement.textContent = gpExtraSpacesTips[gpExtraSpacesTipIndex];\n                    tipElement.style.opacity = '1';\n                }, 200);\n            }\n        }\n\n        \/\/ Start tip rotation\n        setInterval(gpExtraSpacesRotateTips, 6000);\n\n        \/\/ Real-time processing\n        document.getElementById('gp-extra-spaces-input').addEventListener('input', gpExtraSpacesProcess);\n        document.getElementById('gp-extra-spaces-multiple').addEventListener('change', gpExtraSpacesProcess);\n        document.getElementById('gp-extra-spaces-tabs').addEventListener('change', gpExtraSpacesProcess);\n        document.getElementById('gp-extra-spaces-lines').addEventListener('change', gpExtraSpacesProcess);\n        document.getElementById('gp-extra-spaces-trim').addEventListener('change', gpExtraSpacesProcess);\n        document.getElementById('gp-extra-spaces-empty').addEventListener('change', gpExtraSpacesProcess);\n\n        function gpExtraSpacesProcess() {\n            const input = document.getElementById('gp-extra-spaces-input').value;\n            const removeMultiple = document.getElementById('gp-extra-spaces-multiple').checked;\n            const removeTabs = document.getElementById('gp-extra-spaces-tabs').checked;\n            const removeLines = document.getElementById('gp-extra-spaces-lines').checked;\n            const trimSpaces = document.getElementById('gp-extra-spaces-trim').checked;\n            const removeEmpty = document.getElementById('gp-extra-spaces-empty').checked;\n\n            if (!input) {\n                gpExtraSpacesUpdateStats(0, 0, 0, 0, 0);\n                document.getElementById('gp-extra-spaces-output').value = '';\n                return;\n            }\n\n            let result = input;\n            const originalLength = input.length;\n\n            \/\/ Remove multiple spaces\n            if (removeMultiple) {\n                result = result.replace(\/ {2,}\/g, ' ');\n            }\n\n            \/\/ Remove extra tabs\n            if (removeTabs) {\n                result = result.replace(\/\\t+\/g, ' ');\n                result = result.replace(\/ {2,}\/g, ' ');\n            }\n\n            \/\/ Remove extra line breaks\n            if (removeLines) {\n                result = result.replace(\/\\n{3,}\/g, '\\n\\n');\n            }\n\n            \/\/ Trim leading and trailing spaces from each line\n            if (trimSpaces) {\n                result = result.split('\\n').map(line => line.trim()).join('\\n');\n            }\n\n            \/\/ Remove empty lines\n            if (removeEmpty) {\n                result = result.split('\\n').filter(line => line.trim().length > 0).join('\\n');\n            }\n\n            document.getElementById('gp-extra-spaces-output').value = result;\n\n            const cleanedLength = result.length;\n            const savedChars = originalLength - cleanedLength;\n            const words = result.trim() ? result.trim().split(\/\\s+\/).length : 0;\n            const lines = result ? result.split('\\n').length : 0;\n\n            gpExtraSpacesUpdateStats(originalLength, cleanedLength, savedChars, words, lines);\n            gpExtraSpacesUpdateProgress(savedChars, originalLength);\n        }\n\n        function gpExtraSpacesUpdateStats(before, after, saved, words, lines) {\n            document.getElementById('gp-extra-spaces-before').textContent = before.toLocaleString();\n            document.getElementById('gp-extra-spaces-after').textContent = after.toLocaleString();\n            document.getElementById('gp-extra-spaces-saved').textContent = saved.toLocaleString();\n            document.getElementById('gp-extra-spaces-words').textContent = words.toLocaleString();\n            document.getElementById('gp-extra-spaces-lines').textContent = lines.toLocaleString();\n        }\n\n        function gpExtraSpacesUpdateProgress(saved, original) {\n            const percentage = original > 0 ? (saved \/ original) * 100 : 0;\n            document.getElementById('gp-extra-spaces-progress').style.width = `${Math.min(percentage, 100)}%`;\n        }\n\n        function gpExtraSpacesSaveToUndo() {\n            const current = {\n                input: document.getElementById('gp-extra-spaces-input').value,\n                output: document.getElementById('gp-extra-spaces-output').value\n            };\n            \n            gpExtraSpacesUndoStack.push(current);\n            \n            if (gpExtraSpacesUndoStack.length > 10) {\n                gpExtraSpacesUndoStack.shift();\n            }\n        }\n\n        function gpExtraSpacesUndo() {\n            if (gpExtraSpacesUndoStack.length === 0) {\n                gpExtraSpacesShowSuccess('Nothing to undo!');\n                return;\n            }\n\n            const lastState = gpExtraSpacesUndoStack.pop();\n            document.getElementById('gp-extra-spaces-input').value = lastState.input;\n            document.getElementById('gp-extra-spaces-output').value = lastState.output;\n            \n            gpExtraSpacesAddHistory('Undid last operation');\n            gpExtraSpacesProcess();\n            gpExtraSpacesShowSuccess('Action undone!');\n        }\n\n        function gpExtraSpacesCopy() {\n            const output = document.getElementById('gp-extra-spaces-output');\n            if (output.value) {\n                navigator.clipboard.writeText(output.value).then(() => {\n                    gpExtraSpacesAddHistory('Text copied to clipboard');\n                    gpExtraSpacesShowSuccess('Copied to clipboard!');\n                });\n            } else {\n                gpExtraSpacesShowSuccess('Nothing to copy!');\n            }\n        }\n\n        function gpExtraSpacesDownload() {\n            const output = document.getElementById('gp-extra-spaces-output').value;\n            if (!output) {\n                gpExtraSpacesShowSuccess('Nothing to download!');\n                return;\n            }\n\n            const blob = new Blob([output], { type: 'text\/plain' });\n            const url = URL.createObjectURL(blob);\n            const a = document.createElement('a');\n            a.href = url;\n            a.download = 'cleaned-text.txt';\n            document.body.appendChild(a);\n            a.click();\n            document.body.removeChild(a);\n            URL.revokeObjectURL(url);\n            \n            gpExtraSpacesAddHistory('File downloaded');\n            gpExtraSpacesShowSuccess('File downloaded!');\n        }\n\n        function gpExtraSpacesClear() {\n            gpExtraSpacesSaveToUndo();\n            document.getElementById('gp-extra-spaces-input').value = '';\n            document.getElementById('gp-extra-spaces-output').value = '';\n            gpExtraSpacesUpdateStats(0, 0, 0, 0, 0);\n            gpExtraSpacesUpdateProgress(0, 0);\n            gpExtraSpacesAddHistory('All fields cleared');\n            gpExtraSpacesShowSuccess('All cleared!');\n        }\n\n        function gpExtraSpacesExample() {\n            const example = `This    text    has     multiple    spaces.\n\t\t\tIt also has\ttabs\tand\textra\twhitespace.\n\n\n\nMultiple line breaks above and below.\n\n\n\n    Leading and trailing spaces on this line    \n\tMixed   tabs   and    spaces   everywhere\t\nWord1     Word2      Word3       Word4`;\n            \n            document.getElementById('gp-extra-spaces-input').value = example;\n            gpExtraSpacesProcess();\n            gpExtraSpacesAddHistory('Example text loaded');\n            gpExtraSpacesShowSuccess('Example loaded!');\n        }\n\n        function gpExtraSpacesPreview() {\n            const input = document.getElementById('gp-extra-spaces-input').value;\n            if (!input) {\n                gpExtraSpacesShowSuccess('No text to preview!');\n                return;\n            }\n\n            \/\/ Show preview with visible markers\n            let preview = input;\n            preview = preview.replace(\/ {2,}\/g, (match) => `[${match.length} spaces]`);\n            preview = preview.replace(\/\\t+\/g, (match) => `[${match.length} tabs]`);\n            preview = preview.replace(\/\\n{3,}\/g, (match) => `[${match.length} line breaks]`);\n\n            document.getElementById('gp-extra-spaces-output').value = preview;\n            gpExtraSpacesAddHistory('Preview mode activated');\n            gpExtraSpacesShowSuccess('Preview mode - showing space markers!');\n        }\n\n        function gpExtraSpacesShowSpaces() {\n            const input = document.getElementById('gp-extra-spaces-input').value;\n            if (!input) {\n                gpExtraSpacesShowSuccess('No text to analyze!');\n                return;\n            }\n\n            \/\/ Show all whitespace characters\n            let visible = input;\n            visible = visible.replace(\/ \/g, '\u00b7');\n            visible = visible.replace(\/\\t\/g, '\u2192');\n            visible = visible.replace(\/\\n\/g, '\u00b6\\n');\n\n            document.getElementById('gp-extra-spaces-output').value = visible;\n            gpExtraSpacesAddHistory('Whitespace visualization activated');\n            gpExtraSpacesShowSuccess('Showing hidden spaces! \u00b7 = space, \u2192 = tab, \u00b6 = line break');\n        }\n\n        function gpExtraSpacesAddHistory(message) {\n            const timestamp = new Date().toLocaleTimeString();\n            const historyDiv = document.getElementById('gp-extra-spaces-history');\n            const historyItem = document.createElement('div');\n            historyItem.className = 'gp-extra-spaces-history-item';\n            historyItem.textContent = `${timestamp}: ${message}`;\n            \n            historyDiv.insertBefore(historyItem, historyDiv.firstChild);\n            \n            if (historyDiv.children.length > 10) {\n                historyDiv.removeChild(historyDiv.lastChild);\n            }\n        }\n\n        function gpExtraSpacesShowSuccess(message) {\n            const successDiv = document.getElementById('gp-extra-spaces-success');\n            successDiv.textContent = message;\n            successDiv.classList.add('show');\n            \n            setTimeout(() => {\n                successDiv.classList.remove('show');\n            }, 3000);\n        }\n\n        \/\/ Initialize with example on page load\n        window.addEventListener('load', () => {\n            setTimeout(gpExtraSpacesExample, 500);\n        });\n    <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Extra Spaces Remover Tool \u23b5 \ud83e\uddf9 Extra Spaces Remover Clean up messy text by removing extra spaces, tabs, and line &#8230; <\/p>\n<p class=\"read-more-container\"><a title=\"Extra Spaces Remover\" class=\"read-more button\" href=\"https:\/\/vijaypandit.in\/?page_id=313#more-313\" aria-label=\"More on Extra Spaces Remover\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-313","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vijaypandit.in\/index.php?rest_route=\/wp\/v2\/pages\/313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vijaypandit.in\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vijaypandit.in\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vijaypandit.in\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vijaypandit.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=313"}],"version-history":[{"count":2,"href":"https:\/\/vijaypandit.in\/index.php?rest_route=\/wp\/v2\/pages\/313\/revisions"}],"predecessor-version":[{"id":330,"href":"https:\/\/vijaypandit.in\/index.php?rest_route=\/wp\/v2\/pages\/313\/revisions\/330"}],"wp:attachment":[{"href":"https:\/\/vijaypandit.in\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}