Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

HTML текст без тегов используя mshtml.dll [D7, WinXP]


-=Le][=- ©   (2007-03-03 16:35:00) 

Прога стягивает сайт в переменную string.


var
 Http1: TIdHTTP;
 strRead: string;
 strUrl: string;
...
 strRead := Http1.Get (StrUrl);


Как извлеч текст сайта без тегов используя mshtml.dll?


Vlad Oshin   (2007-03-07 16:02:00) [1]

не знаю
а что не надо?
а вдруг кто спросит, где? А тут ты - а вот:


-=Le][=-   (2007-03-07 14:59:00) [2]


> PersistFile := Doc as IPersistFile;
> PersistFile.save(StringToOleStr('c:\1.txt'), true);
>


Зачем в сохранять файл?


Vlad Oshin   (2007-03-06 14:22:00) [3]

procedure TForm1.Button1Click(Sender: TObject);
var
strRead: string;
strUrl: string;

function GetHtmlText: string;
var
doc : IHTMLDocument2;
v   : Variant;
 PersistFile: IPersistFile;
begin
v    := VarArrayCreate([0, 0], varVariant);
v[0] := strRead;
CoInitialize(nil);
doc  := CoHTMLDocument.Create as IHTMLDocument2;
doc.writeln(PSafeArray(TVarData(v).VArray));

PersistFile := Doc as IPersistFile;
PersistFile.save(StringToOleStr('c:\1.txt'), true);


Result:=doc.body.innerText;
doc.close;
end;
begin
strRead := idHttp1.Get (' http://localhost/login.htm');
GetHtmlText;
end;


Ш-К   (2007-03-05 11:06:00) [4]

Пока залатал так:
S:= StringReplace(S, '<table', '<span', [rfReplaceAll, rfIgnoreCase]);
S:= StringReplace(S, '</table', '</span', [rfReplaceAll, rfIgnoreCase]);


Ш-К   (2007-03-05 10:40:00) [5]

Я не знаю. У меня те же проблемы.
Пиши сюда, если найдешь.


-=Le][=-   (2007-03-05 09:22:00) [6]


> А теперь заюзай эту функцию для стрингов:
> '<TABLE><TD><P>1111</P></TD><TD><P>2222</P></TD></TABLE>'и
> '<TD><P>1111</P></TD><TD><P>2222</P></TD>';
> Посмотри на разницу. А должно одно и то же получаться.


Разница есть! И что посоветуешь делать?


Ш-К   (2007-03-05 05:16:00) [7]

А теперь заюзай эту функцию для стрингов:
'<TABLE><TD><P>1111</P></TD><TD><P>2222</P></TD></TABLE>'и
'<TD><P>1111</P></TD><TD><P>2222</P></TD>';
Посмотри на разницу. А должно одно и то же получаться.


-=Le][=-   (2007-03-04 13:52:00) [8]

Cпасибо! Нашол прымеры и составил свой код.

function TFindWebThread.GetHtmlText: string;
var
 doc : IHTMLDocument2;
 v   : Variant;
begin
 v    := VarArrayCreate([0, 0], varVariant);
 v[0] := strRead;
 CoInitialize(nil);
 doc  := CoHTMLDocument.Create as IHTMLDocument2;
 doc.writeln(PSafeArray(TVarData(v).VArray));
 Result:=doc.body.innerText;
 doc.close;
end;


Dmitrij_K   (2007-03-03 21:48:00) [9]

поищи IHTMLDocument2 на http://forum.vingrad.ru/delphi-activex-com-corba-ole.html


Наверх

Титульная страница Поиск, карта сайта Написать письмо