![]() |
Re: Position von Text/Links in einer HTML Datei finden
Hallo, vielleicht so...
Delphi-Quellcode:
Aufruf...
procedure GetEMails(Html:string; Mails:TStrings);
var RegExpr:TRegExpr; begin RegExpr:=TRegExpr.Create; try RegExpr.ModifierG:=false; RegExpr.Expression:='"(.+)@(.+)"'; if RegExpr.Exec(Html) then begin repeat Mails.Append(RegExpr.Match[1] + '@' + RegExpr.Match[2]); until not RegExpr.ExecNext; end; finally RegExpr.Free; end; end;
Delphi-Quellcode:
Ergebnis:
var EMailList:TStringList;
i:integer; EMail:string; begin EMailList:=TStringList.Create; try GetEMails('<a href="ich@du.de">Hallo<a "mailto:aaa@bbb.ccc" style="">', EMailList); for i:=1 to EMailList.Count do begin EMail:=EMailList[i-1]; end; finally EMailList.free; end; end;
Code:
[email]ich@du.de[/email]
mailto:aaa@bbb.ccc ![]() Gruss Thorsten |
Re: Position von Text/Links in einer HTML Datei finden
ok vllt haben wir aneinander vorbei geredet ;-)
also ich habe nen elend lange Quelltext welcher sich immer wieder ändert! das einzige was in jedem Quelltest immer wieder vorkommt ist die Zeichenkombination ( das zeichen welches das @ ersetzt / codiert) das ist auf jeder seite identisch darüber kann ich die Mail addy finden... die Mail Adresse ist logischer Weise auch auf jeder aufgerufenen Seite anders. ich suche den Quelltext nach dem Codierten @ ab , angenommen es sieht so aus :'++at++' suche dann ab dem ersten gefundenen weiter bis ich zum 2ten gefundenen gelange, da erste ist nicht das gesuchte , gehe vom 2ten nach links bis der Anfang der Mail addy erreicht ist ( wirds durch ein " beendet, das gleich von codierten @ nach rechts. "ich++at++web.de" Das ganze was sich um das codierte @ befindete packe ich in einen String- dann komme ich wieder alleine klar ;-) ich hoffe es ist verständlich erklärt ;-) vielen dank aber schonmal für die mühen |
Re: Position von Text/Links in einer HTML Datei finden
Ja, für sowas sind Reguläre-Ausdrücke doch perfekt geeignet.
Das was du dir vorstellst macht der vorgestellte Code doch. Hast du das mal ausprobiert? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz