Вниз
Скачать: CL | DM;

HTML текст без тегов используя mshtml.dll   Найти похожие ветки 

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

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


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


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


 
Dmitrij_K   (2007-03-03 21:48) [1]

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


 
-=Le][=- ©   (2007-03-04 13:52) [2]

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;


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

А теперь заюзай эту функцию для стрингов:
"<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-05 09:22) [4]


> А теперь заюзай эту функцию для стрингов:
> "<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 10:40) [5]

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


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

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


 
Vlad Oshin ©   (2007-03-06 14:22) [7]

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;


 
-=Le][=- ©   (2007-03-07 14:59) [8]


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


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


 
Vlad Oshin ©   (2007-03-07 16:02) [9]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.987 c
2-1192273873
lod
2007-10-13 15:11
2007.11.11
Вывод на печать ?


4-1177781077
delete_file
2007-04-28 21:24
2007.11.11
Удаление файла занятого другим процессом


2-1192626983
Elec3C
2007-10-17 17:16
2007.11.11
Inc, Dec.


6-1172071681
alexm_hs
2007-02-21 18:28
2007.11.11
Пинг UDP-порта


2-1192530271
неугомонный
2007-10-16 14:24
2007.11.11
печать канвы грида




   Наверх