Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 26.05.2017
Сообщений: 1
1

Удалить все комментарии и теги из HTML файла

26.05.2017, 14:31. Показов 2870. Ответов 4
Метки нет (Все метки)

Есть задание: Написать сценарий для sed и awk для удаления тегов и комментариев HTML. Теги и комментарии могут быть многострочными. Обеспечить правильную подстановку для знаков <, >, & и ". В общем нужно убрать теги и комменты вокруг текста, а сам текст оставить. Из такого:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!-- commentary -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=KOI8-R">
   
   <title>hello</title>
<link rel="stylesheet" crossorigin="anonymous"><style type="text/css">
<body>
<center>
<b>
Text1
</b>
</center>
<br>
Text2
<br>
<br>
Text3
<input type="text" name="field1" value="" size="32" maxlength="64">
<input type="submit" value="Start">
<input type="reset" value="Clear">
</form>
<hr>
</body></html>
должно получиться такое:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
  commentary
   
 
 
Text1
 
 
 
Text2
 
 
Text3
Написал пока что только такой код, но он удаляет только теги:
Bash
1
sed -n '1h;2~1H;${g;s/<[^>]*>//g;p}' test.html >htmlres.txt
Как написать чтобы еще удалялись комментарии? А так же как написать это на awk'e?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2017, 14:31
Ответы с готовыми решениями:

Работа с текстом. Необходимо удалить все HTML теги
Есть текст, но в нем очень не удобно расположены html теги. Если возможность удалить эти теги и...

Строка: удалить все html теги из входной строки
написал вот такой код using namespace std; int main() { string str = &quot;&lt;strong&gt;text...

Как удалить все теги img из html кода?
Ребят подскажите как удалить все теги img их html кода.

Необходимо удалить комментарии из html файла
Задание: Написать скрипт, который будет удалять все комментарии из html файла. Я написал код, но...

4
4362 / 3369 / 342
Регистрация: 12.03.2013
Сообщений: 5,851
26.05.2017, 15:19 2
https://stackoverflow.com/ques... 54#1732454
0
Модератор
Эксперт NIX
2784 / 2032 / 680
Регистрация: 02.03.2015
Сообщений: 6,513
26.05.2017, 17:47 3
Цитата Сообщение от kylandry Посмотреть сообщение
sed и awk
не очень хороший инструмент для работы с
Цитата Сообщение от kylandry Посмотреть сообщение
тегов и комментариев HTML
Есть много специализированных инструментов типа xmlstarlet, html-xml-utils и т.д.
0
Эксперт NIX
1555 / 612 / 216
Регистрация: 28.06.2015
Сообщений: 1,337
Записей в блоге: 16
26.05.2017, 18:44 4
Bash
1
sed 's/<[^>]\+>//g;/<[^>]\+$/,/^[^<]\+>$/ d;/^$/ d'
Добавлено через 21 минуту
Не, не получается. Только так
Bash
1
sed -z 's/<[^>]\+>//g;s/^\n//gm'
0
Модератор
Эксперт NIX
2784 / 2032 / 680
Регистрация: 02.03.2015
Сообщений: 6,513
26.05.2017, 19:30 5
Цитата Сообщение от nezabudka Посмотреть сообщение
/<[^>]\+$/,/^[^<]\+>$/ d
не совсем корректное
Bash
1
2
3
4
5
sed ':1;
     s/<[^>]\+>//g;
     /</b;
     N;
     b1'
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2017, 19:30

Удалить все теги из файла
Помогите составить программу, которая удалит все теги из *.txt файла.

Удалить все теги , кроме тега <a .>.</a> со страницы html. Результат вывести на экран
Здравствуйте , мне нужно выполнить следующее задание : Дан текст HTML-страницы (скачать по ссылке...

Удаляет все html теги из файла. strip_tags?
Доброго времени суток! Есть php скрипт, позволяющий редактировать txt файл через cms. Проблема в...

Python 3. Как удалить все комментарии с HTML-кода?
Например: Было: Hello, World! &lt;!-- Text --&gt; Welcome! Стало: Hello, World! Welcome!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.