Danke nochmals für die Antworten...
Leider stecke ich schon wieder ein bisschen in der Klemme. Ich will eine
HTML Datei filtern die folgend aufgebaut ist :
[code
span class=....>Hier steht der Text, der zur nachfolgenden Zeile gehört....</span>
<xy...>
Klick
[/code]
Wie ich das im moment versuche zu lösen ist mehr als schlecht - funktioniert ja auch nicht
Delphi-Quellcode:
function getLinks(aLink : string; aExpression : WideString; aExpressionPre : WideString) : TLinks; overload;
.....
function TMyFuckingTestClass.getLinks(aLink : string; aExpression : WideString; aExpressionPre : WideString) : TLinks;
var
objRegEx : TRegExpr;
objRegExPre : TRegExpr;
objContent : TStringList;
intCounter : integer;
blnFounded : boolean;
begin
objRegEx := TRegExpr.Create;
objRegEx.Expression := aExpression;
objRegEx.ModifierG := false;
objRegExPre := TRegExpr.Create;
objRegExPre.Expression := aExpressionPre;
objRegExPre.ModifierG := false;
objContent := TStringList.Create;
objContent := objHTTP.DownloadToStringList(aLink); // nur der Download....
blnFounded := false;
for intCounter := 0 to objContent.Count - 1 do
begin
// Name herausfiltern (Erste Zeile)
if (objRegExPre.Exec(objContent[intCounter])) then
begin
repeat
if (Length(result) >= 1) then
begin
SetLength(result,Length(result)+1);
end else begin
SetLength(result, 1);
end;
blnFounded := true;
result[Length(result)-1].Name := objRegExPre.Match[1];
until not objRegExPre.ExecNext;
end;
// Link herausfiltern (folgende Zeile)
if objRegEx.Exec(objContent[intCounter]) then
begin
repeat
if blnFounded = true then
begin
result[Length(result)-1].Link := objRegEx.Match[1];
blnFounded := false;
end;
until not objRegEx.ExecNext;
end;
end;
end;
....
result := xy.getLinks(aLink, 'href="(http\:\/\/alink\.org\/.+)"', '
[b](.+)<\/strong>'); // Link der erste Ausdruck und Name der zweite.... Aber funktioniert einfach nicht :O
Danke euch...
Gruß, Real-TTX