
Zitat von
moperswings:
Hallo,
ich möchte eine *.html-Datei nach Bildern durchsuchen und die gefundenen Bilder ...

WAS genau möchtest du 'extrahieren'?
a) den kompletten ImageTag
b) den Bildnamen einscjliesslich VerzeichnisPfad
c) den Bildnamen ohne VerzeichnisPfad
zu a)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var ts: TStrings;
i: integer;
StartTag, EndTag, Pos2: Integer;
s: String;
begin
ts := TStringList.Create;
ts.LoadFromFile('d:\image14\daten.html');
//-- nur zur Kontrolle
MEMO1.Lines.Assign(ts);
for i := 0 to ts.Count -1 do begin
StartTag := Pos('<img src="', ts[i]);
if StartTag > 0 then begin
//--zwischenspeichern
s := Copy(ts[i], StartTag, Length(ts[i])-StartTag);
//--EndtagZeichen > ermitteln
EndTag := Pos('>',s);
ListBox1.Items.Add(Copy(s, 1, EndTag));
end;
end;
ts.Free;
end;
zu b)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var ts: TStrings;
i: integer;
StartTag, EndTag, Pos2: Integer;
s: String;
begin
ts := TStringList.Create;
ts.LoadFromFile('d:\image14\daten.html');
for i := 0 to ts.Count -1 do begin
StartTag := Pos('<img src="', ts[i]);
if StartTag > 0 then begin
s := Copy(ts[i], StartTag+10, Length(ts[i])-StartTag);
//--abschliessendes " ermitteln
EndTag := Pos('"',s);
ListBox1.Items.Add(Copy(s,1, EndTag-1));
end;
end;
ts.Free;
end;
zu c)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var ts: TStrings;
i: integer;
StartTag, EndTag, Pos2: Integer;
s:
String;
begin
ts := TStringList.Create;
ts.LoadFromFile('
d:\image14\daten.html');
for i := 0
to ts.Count -1
do begin
StartTag := Pos('
<img src="', ts[i]);
if StartTag > 0
then begin
s := Copy(ts[i], StartTag+10, Length(ts[i])-StartTag);
//--abschliessendes " ermitteln
EndTag := Pos('
"',s);
//--ab gefundender Position rückwärts suchen nach /
//--um Bildname zu extrahieren
Pos2 := EndTag;
repeat
Dec(Pos2)
until (s[Pos2]='
/')
or (Pos2=0);
ListBox1.Items.Add(Copy(s,Pos2+1, EndTag - (Pos2+1)));
end;
end;
ts.Free;
end;