Эта статья рассказывает, как преобразовать простой текст (plain text) в форматированный код html или наоборот в bat файле или командной строке.

Возможность программы nhrt выполнять замены по списку команд идеально подходит для этих задач, так как позволяет в удобной форме задать большое количество действий по замене или удалению текста.

Конвертировать текст в html файл

Форматирование обычного текста в код html может показаться простой задачей – казалось бы, только вставить заголовок в начало и добавить закрывающие теги в конце текста, но в дополнение к этому потребуется:

  • вставить абзацы <p>…</p> или переводы строк <br> там, где в исходном файле есть переводы строк \n или \r\n
  • заменить символы на последовательности html, например, угловую скобку > на &gt; или символ верхней двойки (квадрата) ² на &sup2;
  • привести в соответствие фактическую кодировку файла и заголовок html

Вставить переводы строк

Чтобы вставить абзацы, каждый перевод строки в тексте заменяем на </p><p>. Соответственно, в начале текста вставляем <p> и в конце — </p>.

-sre:"[\r\n]+" -t:"

Преобразовать символы в последовательности html

Реализуется простой заменой параметрами -spt и -t, по одной замене на строку:

-spt:">" -t:"&gt;"
-spt:"<" -t:"&lt;"
-spt:"²" -t:"&sup2;"
-spt:"⎓" -t:"&#9107;"

Здесь показано только несколько замен, остальные символы есть в файлах для скачивания.

Вставить заголовок <head>

Команда -insert вставляет заданный текст в начало файла. Здесь сразу и заголовок с кодировкой, и начало текста.

-insert -et:"<!DOCTYPE html><head><meta charset=\"UTF-8\" /><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"></head><body><p>"

Вставить завершающие теги

-append -t:"</p></body></html>"

Итоговый список команд и строка запуска

В итоге, список команды для преобразования обычного текста в формат html получается таким:

-spt:">" -t:"&gt;"
-spt:"<" -t:"&lt;"
-spt:"¹" -t:"&sup1;"
-spt:"²" -t:"&sup2;"
-spt:"³" -t:"&sup3;"
-spt:"€" -t:"&euro;"
-spt:"←" -t:"&larr;"
-spt:"→" -t:"&rarr;"
-spt:"°" -t:"&deg;"
-spt:"…" -t:"&hellip;"
-spt:"⎓" -t:"&#9107;"
-sre:"[\r\n]+" -t:"</p><p>"
-insert -et:"<!DOCTYPE html><head><meta charset=\"UTF-8\" /><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"></head><body><p>"
-append -t:"</p></body></html>"

Эта команда выполняет все действия в списке для файла text.html:

nhrt -list:txt2html.list -o:d text.html

После выполнения этой команды в text.html будет код html.

Конвертировать html файл в txt

Чтобы удалить весь html код из файла, нужно не только удалить теги в угловых скобках <...>, но и также:

  • заголовок, скрипты, стили
  • перевести абзацы <p>...</p> и переводы строк <br> в текстовые \n или \r\n
  • перевести элементы списков <li> в строки с тире — или точками • в начале строки и с переводами строк
  • отформатировать таблицы, хотя бы по строкам
  • заменить html последовательности типа &gt; на соответствующие символы >

Вставить переводы строк для абзацев и списков

Простая замена

-spt:"<br>" -et:"\r\n"
-spt:"<p>" -et:"\r\n"
-spt:"<li>" -et:"\r\n- "

Форматировать таблицы

Каждая строка таблицы будет с новой строки в текстовом файле, благодаря простой замене тега <tr> на перевод строки.

-spt:"<tr>" -et:"\r\n"

Преобразовать последовательности html в символы

Также делается простой заменой.

-spt:"&gt;" -t:">"
-spt:"&lt;" -t:"<"
-spt:"&copy;" -t:"©"
-spt:"&reg;" -t:"®"
-spt:"&hellip;" -t:"…"

Удалить скрипты, стили, комментарии

Чтобы удалить скрипты <script>...</script>, и аналогичные конструкции:

-sre:"<!--.*?-->" -e
-sre:"<head.*>.*?<\/head>" -i -e
-sre:"<script.*>.*?<\/script>" -i -e
-sre:"<style.*>.*?<\/style>" -i -e

Итоговый список команд и строка запуска

Этот список включает рассмотренные выше команды замены, а также удаление исходные переводов строк, комментариев и тегов html.

-sre:"[\r\n]+" -t:" "
-sre:"<!--.*?-->" -e
-sre:"<head.*>.*?<\/head>" -i -e
-sre:"<script.*>.*?<\/script>" -i -e
-sre:"<style.*>.*?<\/style>" -i -e
-spt:"<br>" -et:"\r\n"
-spt:"<p>" -et:"\r\n"
-spt:"<li>" -et:"\r\n"
-spt:"<tr>" -et:"\r\n"
-sre:"<.*?>" -e
-spt:"&gt;" -t:">"
-spt:"&lt;" -t:"<"

Файлы для скачивания

По ссылке находятся все необходимые bat файлы и конфигурационные файлы.

Полезные ссылки

Программа замены текста в файлах nhrt: загрузка, справка.

Онлайн анализатор регулярных выражений regex101.com

Специальные символы HTML

Преобразование html и txt
Метки:        

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *