AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Textteile aus HTML Code extrahieren

Offene Frage von "delphinia"
Ein Thema von delphinia · begonnen am 9. Mär 2007 · letzter Beitrag vom 9. Mär 2007
Antwort Antwort
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#1

Textteile aus HTML Code extrahieren

  Alt 9. Mär 2007, 01:59
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?
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
sexmagic

Registriert seit: 16. Sep 2006
56 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Textteile aus HTML Code extrahieren

  Alt 9. Mär 2007, 11:41
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: TPerlRegEx

Mit dieser Komponente kannst du dir einen passenden reg. ausdruck erstellen und somit alles rausparsen.

Hier ein Beispiel wie ichs gemacht habe:
Delphi-Quellcode:
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;
Mann könnte sagen, Schuster bleib bei deinen Leisten aber ich bin froh das ichs überhaupt hinbekommen habe.

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 DIHtmlParser

Ich hoffe das hilft dir weiter!

greez
  Mit Zitat antworten Zitat
Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Textteile aus HTML Code extrahieren

  Alt 9. Mär 2007, 12:43
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: TRegExpr

Eine weitere Möglichkeit wär das Arbeiten mit PosEx und Copy
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Textteile aus HTML Code extrahieren

  Alt 9. Mär 2007, 13:31
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz