![]() |
Textteile aus HTML Code extrahieren
Gibt es gute Funcktionen irgendwo
mit denenman effektiv einfach nur angeben kann zb Das wort zwischen "<td class="fett" width="40" align="left">" und "</td>" In ein String stecken? |
Re: Textteile aus HTML Code extrahieren
Also ich hab das vor kurzem auch requested, leider hab ich keine wirkliche Hilfe erhalten, habe nach langem dann selbst einen Weg gefunden.
Ich habe es mit der Komponente TPerlRegex gemacht, diese ist kostenlos und bekommst du hier: ![]() Mit dieser Komponente kannst du dir einen passenden reg. ausdruck erstellen und somit alles rausparsen. Hier ein Beispiel wie ichs gemacht habe:
Delphi-Quellcode:
Mann könnte sagen, Schuster bleib bei deinen Leisten :) aber ich bin froh das ichs überhaupt hinbekommen habe.
procedure TForm1.Button1Click(Sender: TObject);
var i: integer; imgpos: integer; begin Memo1.Clear; Memo2.Clear; i := 0; Memo1.Lines.LoadFromFile(Edit1.Text); Memo1.Text := StringReplace(Memo1.Text, #13#10, '', [rfReplaceAll]); for i := 0 to Memo1.Lines.Count - 1 do begin PerlRegEx1.Subject := Memo1.Lines[i]; PerlRegEx1.RegEx := 'valign="top".*</td>'; if PerlRegEx1.Match then Memo2.Lines.Add( Trim(PerlRegEx1.MatchedExpression) ); while PerlRegEx1.MatchAgain do begin Memo2.Lines.Add( Trim(PerlRegEx1.MatchedExpression) ); end; end; Memo2.Text := StringReplace(Memo2.Text, 'valign="top">', '', [rfReplaceAll]); Memo2.Text := StringReplace(Memo2.Text, '</td>', '', [rfReplaceAll]); Memo2.Text := StringReplace(Memo2.Text, '</span>', '', [rfReplaceAll]); Memo2.Text := StringReplace(Memo2.Text, '<hr>', '', [rfReplaceAll]); Memo2.Text := StringReplace(Memo2.Text, ' ', '', [rfReplaceAll]); for i := Memo2.Lines.Count - 1 downto 0 do begin if Trim(Memo2.Lines[i]) = '' then Memo2.Lines.Delete(i); Memo2.Lines[i] := Trim(Memo2.Lines[i]); end; end; Eine andere Möglichkeit wäre du besorgst dir eine HTML Parser Komponente, aber da musst du erst eine finden die Kostenlos ist und das kann was du willst, ich habe die Hier ausprobiert und finde die funzt ganz gut ![]() Ich hoffe das hilft dir weiter! greez |
Re: Textteile aus HTML Code extrahieren
Regular Expressions fallen mir da auch sofort ein... aaaallerdings ist bei TPerlRegExpr nich ne DLL dabei? Die hier kann das nativ und die Doku ist auch nich schlecht:
![]() Eine weitere Möglichkeit wär das Arbeiten mit PosEx und Copy |
Re: Textteile aus HTML Code extrahieren
das einfachste ist mit "pos" nach "<td class="fett" width="40" align="left">" zu suchen und dann ab der Fundstelle nach "</td>" zu suchen. Dann mit "copy" einfach den Teil zwischen den Fundstellen in einen neuen String kopieren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 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