Результат
У этой страницы вообще нет серверной части. Вставленная таблица разбирается кодом JavaScript внутри вашего же браузера, график рисуется на элементе canvas на вашей машине, файл экспорта собирается локально. Ничего не загружается, не хранится и не пишется ни в какие логи. После загрузки страницы можно отключить сеть — всё продолжит работать, и это самый простой способ проверить обещание самостоятельно.
Факты и границы применимости
| Способ очистки | Регулярное выражение, а не разбор через DOM — HTML не подключается к странице |
|---|---|
| Что считается тегом | Любая последовательность от «<» до ближайшего «>» |
| Декодируемые сущности | & < > " ' ' |
| Схлопывание пустых строк | Три и более переноса строки подряд сводятся к двум |
Когда этот метод вводит в заблуждение
- Очистка идёт по простому регулярному выражению «от < до ближайшего >», а не через полноценный HTML-парсер: символ «<», встретившийся в обычном тексте не как начало тега (например, в математическом выражении «5 < 10»), будет ошибочно воспринят как начало разметки и может «съесть» часть последующего текста до следующего «>».
- Декодируется только фиксированный список из семи самых частых сущностей — числовые сущности вроде « или именованные вроде ©, — в этот список не входят и остаются в тексте как есть.
- Содержимое тегов <script> и <style> удаляется вместе с самими тегами лишь частично — открывающий и закрывающий тег убираются как обычные теги, но код или CSS между ними остаётся как обычный текст, а не удаляется целиком.
- Табличная разметка (<table>, <tr>, <td>) после удаления тегов превращается в сплошной текст без разделителей между ячейками — структура таблицы не сохраняется даже в виде пробелов или табуляций.
Как это считается
Инструмент ищет в тексте все последовательности от символа «<» до ближайшего «>» регулярным выражением и удаляет их — это не разбор через DOM-парсер, поэтому потенциально опасный HTML (скрипты) никогда не подключается к самой странице.
Если включена опция декодирования сущностей, после удаления тегов оставшийся текст проверяется на вхождение семи стандартных HTML-сущностей, каждая заменяется на соответствующий символ.
Если включена опция схлопывания пустых строк, три и более переноса строки подряд (обычно образующиеся на месте удалённых блочных тегов вроде <div> или <p>) сводятся к двум переносам.
Счётчик показывает, сколько отдельных тегов было найдено и удалено — не элементов разметки, а именно совпадений с шаблоном «<...>».
Вопросы и ответы
Это безопасно — вставлять чужой HTML в это поле?
Да, для очистки не используется innerHTML или разбор через DOM — вставленный текст никогда не превращается в исполняемую разметку на странице, он обрабатывается как обычная строка.
Почему в результате остались какие-то сущности вроде ©?
Декодируется только фиксированный список из семи самых распространённых сущностей (&, <, >, ", ', ', ). Именованные и числовые сущности за пределами этого списка остаются как есть.
Скрипты и стили удаляются целиком?
Только сами теги <script> и <style>. Код между ними остаётся в результате как обычный текст — инструмент не распознаёт содержимое этих тегов как единый блок для удаления.
Мой текст куда-то отправляется?
Нет, вся обработка выполняется в вашем браузере.