Как превратить веб-страницу или HTML-код в простой текст
Как удалить HTML-теги и сохранить абзацы: убрать script и style, раскрыть сущности вроде &, превратить таблицы в табуляции. Чем это отличается от копирования.
Иногда под рукой есть только HTML-код — из HTML-режима редактора блога, шаблона письма или файла экспорта CMS, — а нужен только сам текст. Если удалять теги вручную, легко оставить сущности вроде & или код скриптов.
Базовый конвейер
Встроенный рецепт работает в таком порядке.
- Удаление HTML-тегов — удаляет теги, превращает границы блоков в переносы строк, а сущности — в символы.
- Очистка невидимых символов и кавычек — превращает получившийся из
символ NBSP (U+00A0) и типографские кавычки в обычные символы. - Удаление пробелов по краям — удаляет пробелы в начале строк, оставшиеся от отступов в коде.
- Удаление пустых строк — режим «Сжать подряд идущие пустые строки до одной» выравнивает промежутки между абзацами до одной строки.
- Сжатие повторных пробелов и табуляций — сжимает несколько пробелов внутри строки до одного.
- Удаление HTML-тегов
- Очистка невидимых символов и кавычек
- Удаление пробелов по краям
- Удаление пустых строк
- Сжатие повторных пробелов и табуляций
Что делает удаление тегов
- Комментарии и исполняемый код: комментарии
<!-- -->и элементы<script>,<style>,<noscript>,<template>удаляются вместе с содержимым. Если удалить только теги, код JavaScript или CSS останется в тексте как обычный текст. - Блочные теги и переносы строк: если включено «Блочные теги и <br> — в переносы строк», перенос делается на
<br>и на границах блочных элементов вродеp,div,h1–h6,li,tr. Переносами становятся и открывающие, и закрывающие теги, поэтому появляются пустые строки; три и более пустых строки подряд сокращаются до двух. - Таблицы: концы ячеек (
</td>,</th>) превращаются в табуляции. Если вставить результат в электронную таблицу, столбцы разделятся. - Сущности: если включено «Раскрывать сущности вроде &», распространённые именованные сущности вроде
&<>" …и числовые вроде''превращаются в настоящие символы. Именованные сущности, которых инструмент не знает, остаются как в исходнике.
<h2>Объявление</h2> <p>График работ на этой неделе.<br>Вопросы — в раздел Q&A.</p> <ul><li>Пн: сервер</li><li>Ср: БД</li></ul> <script>track();</script>
Такой код превращается в следующее.
Объявление График работ на этой неделе. Вопросы — в раздел Q&A. Пн: сервер Ср: БД
Если мешают пустые строки между пунктами списка, выберите вместо сжатия пустых строк режим «Удалить все пустые строки». Правда, тогда исчезнут и пустые строки между абзацами.
Если нужно сохранить структуру таблицы
Последний шаг рецепта — сжатие повторных пробелов и табуляций — по умолчанию работает с включённым «Объединять и табуляции» и превращает табуляции таблицы в пробелы. Удаление пробелов по краям тоже стирает табуляции в начале и конце строк. Чтобы использовать таблицу как данные с разделителями-табуляциями, выключите у сжатия пробелов «Объединять и табуляции» и отключите шаг удаления пробелов по краям.
Отличие от копирования в браузере
Выделить и скопировать страницу в браузере и очистить HTML-код этим инструментом — не одно и то же.
- Этот инструмент не учитывает CSS. Текст элементов, скрытых через
display:none, тоже остаётся в результате. - Альтернативный текст изображений (
alt) и адреса ссылок (href) исчезают вместе с тегами. Если адреса ссылок нужны, заберите их из исходного кода до удаления тегов. - Если в HTML-коде длинные предложения записаны на нескольких строках, эти переносы сохранятся. В таком случае поможет добавить после этого шага Восстановление переносов из PDF, который склеивает строки внутри абзаца.
- На границах неблочных элементов вроде
<span>не ставится ни перенос, ни пробел, поэтому элементы, которые в коде стояли вплотную, окажутся слитыми.
Скрытые символы в шаблонах писем
В HTML рассылок иногда вставляют десятки невидимых символов вроде ‌ или ​, чтобы управлять текстом предпросмотра во входящих. Удаление тегов превращает эти сущности в несоединитель нулевой ширины (U+200C) и пробел нулевой ширины (U+200B), а второй шаг рецепта их удаляет. Если выключить шаг очистки невидимых символов и кавычек, они останутся в результате, и внешне безупречный текст будет давать расхождения при поиске или сравнении.
Если перед пунктами списка нужно снова поставить маркеры, добавьте после рецепта добавление символов в начало и конец строк и укажите в начало - . Но маркер добавится ко всем строкам, так что для результата, где смешаны заголовки и абзацы, это не подходит.
Внимание
- Тегом считается то, что начинается с
<и латинской буквы после него и закрывается>. В редких исходниках, где>встречается внутри значения атрибута, могут остаться обрывки. - Сущности раскрываются уже после удаления тегов, поэтому
<b>в исходнике не обрабатывается как тег и остаётся текстом<b>. Так и задумано.
Чек-лист
- Вставьте исходный код целиком и сначала примените рецепт.
- Если таблица понадобится дальше, выключите шаги, которые удаляют табуляции.
- Если нужны адреса ссылок, сохраните их до удаления тегов.
Последнее обновление: 2026-09-23