Форум: "Основная";
Текущий архив: 2003.07.14;
Скачать: [xml.tar.bz2];
ВнизПоиск в HTML Найти похожие ветки
← →
APTEMKA (2003-06-28 00:27) [0]Мастера подскажите плз ответ, нужно из кучи(1000-500) файлов в формате HTML, искать текст.
Например город*
чтоб нашел: город, города, городской
если механизм какой нибудь чтоб расматривать такой файл не как текстовый(т.е. с тегами и разной лабудой) а только текст который выводится в Эксплорере
Заране спасибо
← →
APTEMKA (2003-06-28 19:39) [1]Мастера ну что ни кто не знает??, плз обратите внимание!!!
← →
Тих (2003-06-28 20:43) [2]Требуется
1) Библиотека vbscript.dll (входит в состав IE и офиса)
2) Знакомство с регулрными выражениями.
uses COmObj, ActiveX;
procedure FindMatches(const FileName: string; const What: WideString);
var
pFile : TStringList;
S : OleVariant;
Matches: OleVariant;
sResult: WideString;
i : integer;
begin
pFile := TStringList.Create;
try
pFile.LoadFromFile(FileName);
S:= CreateOleObject("vbscript.regexp");
S.Global := 1;
S.IgnoreCase := 1;
S.Pattern := "\r\n";
sResult := S.Replace(pFile.Text, "");
S.Pattern := "<.*?>";
sResult := S.Replace(sResult, "");
S.Pattern := "\s" + What + ".*?\s";
Matches := S.Execute(sResult);
for i:= 0 to Matches.Count - 1 do
begin
ShowMessage(Matches.Item[i]);
end;
finally
pFile.Free;
S := unassigned;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
FindMatches("H:\soft\ora\ORACLUB.htm", "меню");
end;
← →
Тих (2003-06-28 20:52) [3]Это разве куча? :-))
Аттеншн: файл может быть в юникоде, тогда TStringList и string не подходят. Берем scripting.FileSystemObject и работаем c юникодом. Для поиска можно прикрутить и объектную модель IE, будет достаточно быстро, но уж шибко громоздкая у него объектная модель...
← →
APTEMKA (2003-06-29 00:10) [4]Спасибо большое, а е скажешь бывают ли готовые компаненты, чтоб там был и юникод
← →
APTEMKA (2003-06-30 23:57) [5]если готовые такие компаненты
← →
Beginner3000 (2003-07-01 00:20) [6]есть
Парсеры называется
только гемороиться не стоит
в хтмл текст - тоже текст
сколько по тегам не разбирай текстом и останется, причём кодировка не изменится.
to Тих: для такого простого поиска регулярные выражения - излишество
Артёмке:в крайнем случае, если очень нужно перегнать в вордовый файл, вордом и пользуйся (через дельфи естест-но), но это для поиска не годится, только для распечатывания
← →
APTEMKA (2003-07-01 03:26) [7]Спасибо вам
← →
ночной кочмарь (2003-07-01 03:35) [8]2 APTEMKA (01.07.03 03:26)
обрати внимание на mshtml.pas и в частности на IHTMLElement.get_InnerText.
Применять к тегу body..
детали - в msdn или на groups.google.com по ключевым словам delphi IHTMLElement InnerText
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c