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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
y4ycb
0 / 0 / 0
Регистрация: 30.06.2014
Сообщений: 29
#1

Замена абсолютных ссылок на относительные - C++

30.06.2014, 22:46. Просмотров 389. Ответов 7
Метки нет (Все метки)

Из файла, в котором дан HTML код страницы, нужно заменить все абсолютные ссылки на относительные.
То есть по сути нужно убрать из всех "<a href="http://домен/папка/ссылка">" - "http://домен"

Помогите кто-нибудь
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2014, 22:46     Замена абсолютных ссылок на относительные
Посмотрите здесь:

C++ В массиве X(N) найти сумму абсолютных значений элементов и максимальный элемент по модулю
C++ Найдите количество абсолютных и локальных минимумов и максимумов среди элементов одномерного массива
C++ Упорядочить каждую строку матрицы по возрастанию абсолютных величин
C++ Упорядочить каждую строку матрицы по возрастанию абсолютных величин
C++ В двумерном массиве 5*4 целых чисел найти сумму абсолютных значений элементов каждой строки
C++ В двумерном массиве 5*4 целых чисел найти сумму абсолютных значений элементов каждой строки
Найти произведение абсолютных значений C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1249 / 1132 / 54
Регистрация: 21.04.2012
Сообщений: 2,357
Завершенные тесты: 3
01.07.2014, 00:19     Замена абсолютных ссылок на относительные #2
y4ycb, можно регулярками, boost/regex напр.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
 
#include <boost/regex.hpp>
 
 
int main() {
   boost::regex const regex(R"((<\s*a\s*href\s*=\s*")http://[^/]*(.*?"\s*>))");
 
   std::string const text = R"(<body> <a href="http://www.boost.org/doc/libs/1_54_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html"> <tag /> <a href="http://www.boost.org/doc/libs/1_54_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html"> </body>)";
 
   std::cout << boost::regex_replace(text, regex, R"(\1\2)") << std::endl;
}
y4ycb
0 / 0 / 0
Регистрация: 30.06.2014
Сообщений: 29
01.07.2014, 21:04  [ТС]     Замена абсолютных ссылок на относительные #3
gray_fox, а если текст считывается из файла, то как?
И есть другой вариант реализации, попроще? Не знаю про boost и regex ничего...

Добавлено через 9 часов 57 минут
Ну так что, кто поможет новичку?
nmcf
4456 / 3794 / 1282
Регистрация: 14.04.2014
Сообщений: 14,901
01.07.2014, 21:13     Замена абсолютных ссылок на относительные #4
Без regex'а будет сложнее, а не проще. Он есть во всех новых версиях C++ в <regex> без boost.
y4ycb
0 / 0 / 0
Регистрация: 30.06.2014
Сообщений: 29
01.07.2014, 21:51  [ТС]     Замена абсолютных ссылок на относительные #5
nmcf, а как реализовать это же, но чтобы текст считывался из файла?

Добавлено через 41 секунду
nmcf, а также из текстбокса
nmcf
4456 / 3794 / 1282
Регистрация: 14.04.2014
Сообщений: 14,901
01.07.2014, 21:58     Замена абсолютных ссылок на относительные #6
В text считай из файла текст. А содержимое TextBox можно сразу вставить.
gray_fox
What a waste!
 Аватар для gray_fox
1249 / 1132 / 54
Регистрация: 21.04.2012
Сообщений: 2,357
Завершенные тесты: 3
01.07.2014, 23:40     Замена абсолютных ссылок на относительные #7
y4ycb, с регулярными выражениями действительно с этим проще справиться, чем "ручками" всё искать; boost/regex только для примера (что у меня есть), естественно есть и другие библиотеки для работы с регулярными выражениями. <regex> есть только в относительно новых версиях компиляторов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2014, 00:20     Замена абсолютных ссылок на относительные
Еще ссылки по теме:

C++ Из абсолютных величин элементов массива выбрать наибольшую
Возврат ссылок C++
Из абсолютных величин элементов целочисленного массива выбрать наибольшую C++
Найти сумму абсолютных значений элементов C++
Определить количество четных элементов и сумму абсолютных величин элементов матрицы C++

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

Или воспользуйтесь поиском по форуму:
y4ycb
0 / 0 / 0
Регистрация: 30.06.2014
Сообщений: 29
02.07.2014, 00:20  [ТС]     Замена абсолютных ссылок на относительные #8
gray_fox, что ж, буду изучать. Спасибо
Yandex
Объявления
02.07.2014, 00:20     Замена абсолютных ссылок на относительные
Ответ Создать тему
Опции темы

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