AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi (angezeigten) Text einer HTML-Quelle ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

(angezeigten) Text einer HTML-Quelle ermitteln

Ein Thema von Panthrax · begonnen am 30. Jul 2005 · letzter Beitrag vom 1. Aug 2005
Antwort Antwort
Seite 1 von 3  1 23      
Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#1

(angezeigten) Text einer HTML-Quelle ermitteln

  Alt 30. Jul 2005, 21:14
Salut.

Wie kann ich aus HTML-Quelltext den Text herausfiltern, den ich mit Ctrl-A im Browser selektieren würde?

Sieht der HTML-Quelltext z.B. so aus:
XML-Code:
<html>
  <head>
    ...
  </head>
  <body>
    <h3>Überschrift</h3>
    

Hallo Welt!</p>
  <body>
</html>
Dann würde ich gern folgenden Text haben wollen:
Code:
Überschrift
Hallo Welt!
Das entspricht einem Ctrl-A, Ctrl-C im Browser und Ctrl-V im Editor.

Wie kann ich den gleichen Ergebnistext mit Delphi ermitteln?

Ich habe bei den Delphi-Komponenten keine Eigenschaft Text oder ähnlich gefungen...

MfG
Panthrax
  Mit Zitat antworten Zitat
Neuni

Registriert seit: 25. Feb 2004
815 Beiträge
 
Delphi 7 Personal
 
#2

Re: (angezeigten) Text einer HTML-Quelle ermitteln

  Alt 30. Jul 2005, 21:16
Alle "<" und ">" suchen, das dazwischen mit den "<>" löschen, und aus "
" einen zeilenumbruch machen. Wobei dann aber nicht zwischen GROßEN und kleinen Texten unterschieden wird.
  Mit Zitat antworten Zitat
Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#3

Re: (angezeigten) Text einer HTML-Quelle ermitteln

  Alt 30. Jul 2005, 21:26
Danke für deine Antwort.

...aber die Lösung ist zu propitär. Sie berücksichtigt nicht, dass es Tags gibt die Text umschließen, der nicht angezeigt wird; Beispiele: Title, Script, Style, Frame, IFrame,...

MfG
Panthrax
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: (angezeigten) Text einer HTML-Quelle ermitteln

  Alt 30. Jul 2005, 21:49
Hallo Panthrax,

versuche es mal so:

Delphi-Quellcode:
uses
  MSHTML;
var
  doc: IHTMLDocument2;
begin
  doc := WebBrowser.Document as IHTMLDocument2;
  ShowMessage(doc.body.innerText);
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#5

Re: (angezeigten) Text einer HTML-Quelle ermitteln

  Alt 30. Jul 2005, 22:00
Wenn du es ohne die IE-Objekte machen willst, blieben da noch PCRE (Reguläre Ausdrücke). In der JCL gibt es dazu ein Beispiel. Ansonsten TPerlRegEx von http://www.regular-expressions.info/delphi.html

Code:
s/<(?:.??)>//gism
...
  Mit Zitat antworten Zitat
Panthrax

Registriert seit: 18. Feb 2005
286 Beiträge
 
Delphi 2010 Enterprise
 
#6

Re: (angezeigten) Text einer HTML-Quelle ermitteln

  Alt 30. Jul 2005, 22:19
Hallo.

@marabu:

Deine Lösung finde ich genau richtig. Leider löst jeder Zugriff auf das Interface Doc (Typ IHTMLDocument2) eine AV aus. Habe es auch mit Doc.title probiert - ebenfalls eine AV.

Die Unit MSHTML kannte ich bis eben nicht. Da das Neuland für mich ist muss ich nochmal fragen, woran könnte es liegen, es das zugehörige Objekt WebBrowser1.Document (= nil) nicht gibt?

[Edit]WebBrowser1.Navigate('http://abc.de'); wurde ausgeführt.[/Edit]


@Olli:

Danke für den Hinweis. Reguläre Ausdrücke könnte ich mir noch vorstellen. Obwohl dabei wieder das berücksichtigt werden müsste, was ich oben erwähnte.

MfG
Panthrax
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#7

Re: (angezeigten) Text einer HTML-Quelle ermitteln

  Alt 30. Jul 2005, 22:27
Ich glaube in dem Interface war ein Fehler (bzw. in der Unit). Ich melde mich nochmal, wenn ich mein Mailarchiv durchsucht habe.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: (angezeigten) Text einer HTML-Quelle ermitteln

  Alt 30. Jul 2005, 22:34
Panthrax, du schreibst du hättest das betreffende HTML-Dokument geladen. Wenn WebBrowser.Document nil ist, dann scheint mir der Ladevorgang zu dem Zeitpunkt noch nicht beendet zu sein, zu dem du deinen Zugriff machst. Hinweise darauf, wie du den richtigen Zeitpunkt abpassen kannst, erhältst du hier.

marabu
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#9

Re: (angezeigten) Text einer HTML-Quelle ermitteln

  Alt 30. Jul 2005, 22:39
Sorry, auch wenn ich noch nicht so alt bin hat mich meine Erinnerung getäuscht. Was ich meinte war das IDocHostUIHandler-Interface :-\
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: (angezeigten) Text einer HTML-Quelle ermitteln

  Alt 30. Jul 2005, 22:50
Olli, dass mit dem faulty memory recall wird immer schlimmer - nicht nur bei dir. Ich dachte früher, ich werde alt, aber heute weiß ich woran es liegt: information overload! Die armen Synapsen...

Heitere Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 10:39 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