Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.31;
Скачать: CL | DM;

Вниз

Загрузка файлов и превращение html->txt   Найти похожие ветки 

 
Данил.Ялта   (2006-12-12 08:29) [0]

Два вопроса:
1) как тхт или хтмл файл из интернета сохранить на диск?
2) как текст, который есть в хтмл странице сохранить в тхт файл, чтоб тегов в нем уже не было?


 
novill ©   (2006-12-12 09:44) [1]

1. либо компонентами (Indy) либо функцией Internetreadfile.
2. проще всего (WebBrowser.Document as IHtmlDocument2).body.outerText


 
MetalFan ©   (2006-12-12 12:32) [2]

2. проще написать свой алгоритм удаления всего, что в <>


 
MetalFan ©   (2006-12-12 12:58) [3]

вот мой вариант "убивалки" тэгов.
работать будет 100% быстрее, чем [1]2
function RemoveTags( const AHTML: string ): string;
var
 i: Integer;
 lLenHTML, lLenResult: Integer;
 lChr: Char;
 lSkip: Boolean;
 lSetRes: Boolean;
begin
 Result := "";
 lLenHTML := Length( AHTML );
 if lLenHTML = 0 then Exit;
 lLenResult := 0;
 lSetRes := False; //флаг установки длины Result
 lSkip := False;  //флаг пропуска содержания <>
 for i := 1 to lLenHTML do // понеслась
 begin
   lChr := AHTML[i]; //берем символ из строки
   if lChr in ["<",">"] then //если к начало/конец тэга
   begin
     lSkip := lChr = "<"; //то выставляем/сбрасываем флаг пропуска
     Continue;
   end;
   if not lSkip then
   begin
     if not lSetRes then
     begin
       lSetRes := True;
       SetLength( Result, lLenHTML ); //сразу резервируем длину строки по максимуму        
     end;
     Inc( lLenResult );
     Result[lLenResult] := lChr; //так работает быстрее, чем просто Result := Result + lChr; проверено
   end;
 end;
 SetLength( Result, lLenResult); //"обрезаем" лишний мусор.
end;



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

Текущий архив: 2006.12.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
15-1165577292
ocean
2006-12-08 14:28
2006.12.31
Запись звука с линейного выхода


11-1142772736
Dim@s
2006-03-19 15:52
2006.12.31
VCL &amp; KOL


15-1165864472
Витян
2006-12-11 22:14
2006.12.31
Как поставить программиста в тупик?


4-1156236360
novill
2006-08-22 12:46
2006.12.31
Не могу найти функцию для записи windows лога (журнала событий).


2-1165681703
atas-sheriff
2006-12-09 19:28
2006.12.31
ClientSocket