Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

26.12.2006, 20:59
|
|
Участник форума
Регистрация: 16.12.2005
Сообщений: 146
Провел на форуме: 573934
Репутация:
114
|
|
Парсинг HTML в Delphi
В TStrings находится документ HTML.
В нем присутствует такое
Код HTML:
<td class="name"><a href="http://ссылка.ру">Какято лажа написана</a><small>Тут еще фигня, теги</small></td>
Оно повторяется много раз, причем может быть, что в одной строке несколько. Мне нужно из этой конструкции вытащить ссылки (http://ссылка.ру).
Запихнуть надо их в TStrings.
Как это можно реализовать попроще,
помогите, пжлст)
Последний раз редактировалось a1nt; 26.12.2006 в 21:01..
Причина: Забыл)
|
|
|

26.12.2006, 21:01
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
Как это можно реализовать попроще,
помогите, пжлст)
проще всего это пишеться на Php !
так че думай.... есле че могу помочь на php сделать!
делфи я не знаю.
|
|
|

26.12.2006, 21:07
|
|
Участник форума
Регистрация: 16.12.2005
Сообщений: 146
Провел на форуме: 573934
Репутация:
114
|
|
проще всего это пишеться на Php !
Спасибо, конечно, но программа уже практически готова (чуть не сдох!), да и должна быть на компилируемом языке.
Я тут подумал... Есть же инструменты парсинга XML, нелязя ли выполнить эту задачу с их помощью?
|
|
|

26.12.2006, 21:12
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
Сообщение от a1nt
да и должна быть на компилируемом языке.
знакомся: php2exe )))
|
|
|

26.12.2006, 21:18
|
|
Banned
Регистрация: 01.08.2006
Сообщений: 725
Провел на форуме: 7681825
Репутация:
4451
|
|
Вот.должно помочь http://www.mytempdir.com/1135328
|
|
|

26.12.2006, 21:26
|
|
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме: 5301021
Репутация:
1879
|
|
Гема Шумахер, блин... только, что написал. А нет, надо опередить...
|
|
|

26.12.2006, 21:43
|
|
Участник форума
Регистрация: 16.12.2005
Сообщений: 146
Провел на форуме: 573934
Репутация:
114
|
|
Вот.должно помочь http://www.mytempdir.com/1135328
Спасибо. Но плиз, объясни, как сделать, чтобы он в одной строке искал несколько раз?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
s : string;
begin
For i := 0 to memo1.Lines.Count - 1 do begin
s := memo1.Lines.Strings[i];
if pos('<td class="name"><a href',s) <> 0 then begin
s := copy(s,pos('<td class="name"><a href=',s)+26,length(s));
s := copy(s,0,pos('">',s)-1);
memo2.Lines.Add(s);
end;
end;
end;
Потому что он находит первую ссылки и выводит, а мне надо несколько из каждой строки. (((
|
|
|

26.12.2006, 22:08
|
|
Участник форума
Регистрация: 16.12.2005
Сообщений: 146
Провел на форуме: 573934
Репутация:
114
|
|
О! Нашел проект http://www.regexpstudio.com
Видимо очень удобная вещь. Взял пример по вытаскиванию мыльников из Tstrings. Только вот что-то не глотает мое выражение
'\<td class\=\"name\"\>\<a href=\"'+'[_a-zA-Z\d\-\.]'+'\"\>'
вроде все что может мешать заэкранировал, посмотрите, плииз. Если заставлю это работать будет вообще малина. Буду искать такие же строки, а потом функцией gemaglabin`а выдергивать ссылки.
Как я понимаю язык выражений аналогичен Perl/PHP.
|
|
|

26.12.2006, 22:46
|
|
Участник форума
Регистрация: 16.12.2005
Сообщений: 146
Провел на форуме: 573934
Репутация:
114
|
|
<td class="name"><a href="(.*)">
Вот чего надумал. Но почему-то возвращает с переводами строки на прбелах
|
|
|

26.12.2006, 23:17
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
сть же инструменты парсинга Xml, нелязя ли выполнить эту задачу с их помощью?
Нельзя.
Легко с помощью регекспов.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|