Форум программистов, компьютерный форум CyberForum.ru

Удаление выбранных тегов (html-страница) - C++

Восстановить пароль Регистрация
 
Dillingers
Сообщений: n/a
16.06.2013, 19:02     Удаление выбранных тегов (html-страница) #1
В текстовом файле хранится сохраненная html страница. нужно проверить её и удалить теги, выбранные пользователем
имеется код программы ,который просто переводит ее в обычный текстовый вид, удаляя все теги
что нужно дописать для удаления только выбранных?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <fstream>
 
#include <string>
 
using namespace std;
 
int main()
{
    const char* filename = "index.html";
    ifstream ifs(filename, ifstream::in);
 
    string text = "";
    char ch = '\0'; bool b = false;
    while (ifs.peek() >= 0 && (ch = ifs.get()))
    {
        if (ch == '>') b = true;
        if (b != false)
        {
            if (ch != '<' && ch != '>')
                text+=ch;
        }
        if (ch == '<') b = false;
    }
 
    cout << text << endl;
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2013, 19:02     Удаление выбранных тегов (html-страница)
Посмотрите здесь:

Массив(Замена выбранных элементов). Область памяти(замена выбранных элементов) C++
C++ Программа угадывания случайно выбранных координат цели
C++ html-страница с картинками в качестве ресурса приложения.
C++ Очистка текста от хтмл тегов
C++ Вытащить текст между тегов html
Расстановка html тегов в тексте C++
C++ Правила вложенности тегов html (html разметка на С++)
Нажатие одной клавиши вызывает работоспособность других выбранных C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AntonChik
1083 / 581 / 21
Регистрация: 11.11.2008
Сообщений: 1,544
17.06.2013, 09:03     Удаление выбранных тегов (html-страница) #2
суть такая:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
int main()
{
    const char* filename = "index.htm";
    ifstream ifs(filename, ifstream::in);
 
    string text = "", tag;
    const char *tags = "<CPP></CPP><QUOTE></QUOTE> ";
    char ch = '\0'; bool b = false;
    while (ifs.peek() >= 0 && (ch = ifs.get()))
    {
        if (b && ch != '<' && ch != '>')text+=ch;
 
        if (ch == '<') {b = false; tag="";}
        if(!b)tag+=ch;
        if (ch == '>')
            {
            b = true;
            if (strstr(tags, tag.c_str()) == NULL) text=text+tag;
            }
    }
    cout << text << endl;
 
    return 0;
}
главное что tag выделен.
но конечно надо еще доработать, чтоб не отличать закрывающийся тег и чтоб аттрибуты могли присутствовать. удачи.
Yandex
Объявления
17.06.2013, 09:03     Удаление выбранных тегов (html-страница)
Ответ Создать тему
Опции темы

Текущее время: 00:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru