Поиск:

Ответ в темуСоздание новой темы Создание опроса
> адреса URL из текста 
V
    Опции темы
WapCel
  Дата 6.1.2010, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 3.11.2008
Где: Moldova

Репутация: нет
Всего: нет



нужно копировать адреса url из текста (AnsiString) в TStringlist


borland c++ 6 builder )

Please help me... 
PM MAIL WWW ICQ   Вверх
artsb
Дата 6.1.2010, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Код

TStringList *lst = new TStringList();
AnsiString str;
// ...
lst->Add("i am url");
// or
lst->Add(str);
// ...
delete lst;



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
WapCel
Дата 6.1.2010, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 3.11.2008
Где: Moldova

Репутация: нет
Всего: нет



Например

Код

<html>
<body>

<div class="body">
<b>
» <a href="index.php?action=Routes&amp;sid=9ecmj3ngjvs7nl2ohnn3k1k127">Rutele microbuzelor</a><br/>
» <a href="index.php?action=SendMail&amp;sid=9ecmj3ngjvs7nl2ohnn3k1k127">Expediere E-mail</a><br/>
» <a href="index.php?action=Feedback&amp;sid=9ecmj3ngjvs7nl2ohnn3k1k127">Feedback</a><br/>
</b>
</div>

<a href="http://vingrad.ru">Super site!</a><br/>
<a href="/index.php">Na glavnuju</a><br/>
<a href="/forum">Forum</a><br/>

</body>
</html>


Результат:
  •  index.php?action=Routes&amp;sid=9ecmj3ngjvs7nl2ohnn3k1k127
  •  index.php?action=SendMail&amp;sid=9ecmj3ngjvs7nl2ohnn3k1k127
  •  index.php?action=Feedback&amp;sid=9ecmj3ngjvs7nl2ohnn3k1k127
  •  http://vingrad.ru
  •  /index.php
  •  /forum

PM MAIL WWW ICQ   Вверх
WapCel
Дата 6.1.2010, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 3.11.2008
Где: Moldova

Репутация: нет
Всего: нет



PHP example:


Код

preg_match_all
("/<[Aa][ \r\n\t]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\n\r\t]*([^ \"'>\r\n\t#]+)[^>]*>/",
$page_text, $urls_array);

PM MAIL WWW ICQ   Вверх
artsb
Дата 6.1.2010, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Так... Начинают раскрываться карты.
WapCel, вы подробно распишите что вам нужно.

Это сообщение отредактировал(а) artsb - 6.1.2010, 21:55


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
WapCel
Дата 6.1.2010, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 3.11.2008
Где: Moldova

Репутация: нет
Всего: нет



вывести со страницы адреса URL
PM MAIL WWW ICQ   Вверх
artsb
Дата 6.1.2010, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



А что у вас конкретно не получается? Вытащить их из текста?


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
WapCel
Дата 6.1.2010, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 3.11.2008
Где: Moldova

Репутация: нет
Всего: нет



Yes sir  smile 
Как это сделать?
Please help me..
PM MAIL WWW ICQ   Вверх
artsb
Дата 7.1.2010, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Накатал функцию:
Код

unsigned GetURLs(TStrings *source, TStrings *dest) {
AnsiString asText = source->Text;
unsigned uiPos, uiCount = 0;
char cQuote;
while(uiPos = asText.Pos("href")) {
 asText = asText.Delete(1, uiPos + 3);
 while(asText[1] == ' ')
  asText = asText.Delete(1, 1);
 if(asText[1] != '=')
  continue;
 do
  asText = asText.Delete(1, 1);
 while(asText[1] == ' ');
 if(asText[1] != '"' && asText[1] != '\'')
  continue;
 cQuote = asText[1];
 uiPos = 2;
 while(asText[uiPos] != cQuote || asText[uiPos - 1] == '\\')
  uiPos++;
 dest->Add(asText.SubString(2, uiPos - 2));
 asText = asText.Delete(1, uiPos);
 uiCount++;
}
return uiCount;
}


Это сообщение отредактировал(а) artsb - 7.1.2010, 00:48


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
WapCel
Дата 7.1.2010, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 3.11.2008
Где: Moldova

Репутация: нет
Всего: нет



A Big Thanks To You!
PM MAIL WWW ICQ   Вверх
WapCel
Дата 7.1.2010, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 3.11.2008
Где: Moldova

Репутация: нет
Всего: нет



Не работает..

[C++ Warning] Unit1.cpp(17): W8060 Possibly incorrect assignment (Но это ничего)

Вот ошибка при вызове функции (image)

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  Untitled_1.gif 7,63 Kb
PM MAIL WWW ICQ   Вверх
artsb
Дата 7.1.2010, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



WapCel, как вы используете? Я проверял так: разместил на форме 2 Мемо. В первое поместил текст страницы приведённый вами выше, потом повесил на кнопку обработчик с кодом:
Код

Caption = IntToStr(GetURLs(Memo1->Lines, Memo2->Lines));

После нажатия кнопки, в кептион формы занеслось "6" и во втором Мемо появилось шесть адресов. Всё ОК.

Добавлено через 8 минут и 6 секунд
Пример:

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  example.rar 13,67 Kb


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
xvr
Дата 7.1.2010, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Не корысти ради, а токмо правды для - URL могут идти не только за href  smile  . Советую взять исходники wget и оторвать оттуда функцию, которая парсит закаченные HTML страницы в поисках URL (используется для рекурсивной закачки HTML страниц)

PM MAIL   Вверх
artsb
Дата 7.1.2010, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Цитата(xvr @  7.1.2010,  12:49 Найти цитируемый пост)
URL могут идти не только за href

Эт понятно smile Но человек привёл пример того что ему нужно. Я и написал такую функцию.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
WapCel
  Дата 7.1.2010, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 3.11.2008
Где: Moldova

Репутация: нет
Всего: нет



Спасибо.  smile   smile 
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1250 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.