Parsehtml
Der folgende Code veranschaulicht, wie eine html-Datei, die auf der Suche nach analysieren
Tag beginnen
End-Tag
Unformatierten Text
Die folgende Routine veranschaulicht, wie eine html-Datei analysieren.
Ich begrüße Futter zurück, um die Routine zu verbessern, haben Sie irgendwelche Vorschläge/Tips, lass es mich wissen.
rgds
Si-Carter
---BEGINNEN SIE CODEBLOCK---
Einheit HTMLParse;
(***************************************************************************
HTMLParse
Zweck: Analysieren Sie eine html-Datei, um Markierungen und nur-Text zu extrahieren.
Copyright © 2003 - TECT Software Ltd. Alle Rechte vorbehalten.
Der gesamte Code bleibt Eigentum der TECT Software Ltd und darf nicht
ohne Genehmigung geändert werden. Verwendung dieses Codes wird erteilt
Jeder Entwickler für Private, öffnen Sie Quelle oder kommerzielle Anwendungen.
Keine Garantie, ausdrücklich oder implizit. Benutzung auf eigene Gefahr.
Kontakt:
WEB - www.tectsoft.com
E-Mail - [email protected]
Copyright-Hinweis muss mit der Datei bleiben.
Besuchen Sie für www.tectsoft.com * geringe Kosten * Entwickler freundliche Web-hosting.
Erfordert:
FastStrings aus https://www.droopyeyes.com
Syntax:
Finden Sie für den Demo-Einsatz www.howtodothings.com.
****************************************************************************)
Schnittstelle
verwendet Klassen, FastStringFuncs, FastStrings;
Typ
TTagType = (TtBeginTag, TtEndTag, TtRawText);
THTMLParseProc = Prozedur (const HTMLData: string; TagType: TTagType;
Parameter: TStrings);
Procedure ParseHTML (const HTML: string; ParseProc: THTMLParseProc);
Umsetzung
SysUtils verwendet;
const
(* Hinweis: die folgende Datei herunterladen, die folgenden Codes sind falsch
in einem Browser wie folgt angezeigt :-) *)
THTMLReplaceWords: Array [0..4] des String-Arrays [0.. 1] = ((' ',' '),
('& ', '&'), ('< ', ' <'), ('> ', ' >'), (''', '''));
Procedure ParseHTML (const HTML: string; ParseProc: THTMLParseProc);
Prozedur CallTagProc (IsTag: Boolean; HTMLData: string);
var
s: String;
SL: TStringList;
I: Integer;
beginnen
HTMLData: = Trim(HTMLData);
Wenn Length(HTMLData) > 0 dann
beginnen
Wenn dann IsTag
beginnen
Wenn Pos (' ', HTMLData) > 0 dann
s: = Trim (Kopie (HTMLData, 1, Pos (' ', HTMLData)))
sonst
s: = Trim(HTMLData);
SL: = TStringList.Create;
versuchen Sie
SL. Text: = Trim (Kopie (HTMLData, Length(s) + 1, length(HTMLData)));
SL. Text: = Trim (FastReplace (sl. Text, ';', #13));
SL. Text: = Trim (FastReplace (sl. Text, ' '', #13));
SL. Text: = Trim (FastReplace (sl. Text, ' '', ''));
Wenn LeftStr (s, 1) = '/' dann
THTMLParseProc(ParseProc) (uppercase(s), TtEndTag, sl)
sonst
THTMLParseProc(ParseProc) (UpperCase(s), TtBeginTag, sl);
Schließlich
SL. Frei;
Ende;
anderes Ende
beginnen
für I: = 0 bis 4 tun
HTMLData: = FastReplace (HTMLData, THTMLReplaceWords [I, 0],
THTMLReplaceWords [I 1]);
THTMLParseProc(ParseProc) (HTMLData, TtRawText, Nil);
Ende;
Ende;
Ende;
var
s: String;
P: PChar;
beginnen
Assert(Assigned(ParseProc));
P: = PChar(HTML);
s := '';
zwar P ^ tun <> #0
beginnen
Fall P ^ von
'<':
beginnen
CallTagProc (falsche, s);
s := '';
Ende;
' >':
beginnen
CallTagProc (wahr, s);
s := '';
Ende;
sonst
s: = s + P ^;
Ende; Fall
Inc(P);
Ende;
Ende;
Ende.
---ENDE CODEBLOCK---
Downloads:
Quelle: HTMLParse.pas
Demo:
htmlparse.zip
Alle die mit D6 getestet.
Parsehtml
Parsehtml : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Der folgende Code veranschaulicht, wie eine html-Datei, die auf der Suche nach analysieren
Tag beginnen
End-Tag
Unformatierten Text
Die folgende Routine veranschaulicht, wie eine html-Datei analysieren.
Ich begrüße Futter zurück, um die Routine zu verbessern, haben Sie irgendwelche Vorschläge/Tips, lass es mich wissen.
rgds
Si-Carter
---BEGINNEN SIE CODEBLOCK---
Einheit HTMLParse;
(***************************************************************************
HTMLParse
Zweck: Analysieren Sie eine html-Datei, um Markierungen und nur-Text zu extrahieren.
Copyright © 2003 - TECT Software Ltd. Alle Rechte vorbehalten.
Der gesamte Code bleibt Eigentum der TECT Software Ltd und darf nicht
ohne Genehmigung geändert werden. Verwendung dieses Codes wird erteilt
Jeder Entwickler für Private, öffnen Sie Quelle oder kommerzielle Anwendungen.
Keine Garantie, ausdrücklich oder implizit. Benutzung auf eigene Gefahr.
Kontakt:
WEB - www.tectsoft.com
E-Mail - [email protected]
Copyright-Hinweis muss mit der Datei bleiben.
Besuchen Sie für www.tectsoft.com * geringe Kosten * Entwickler freundliche Web-hosting.
Erfordert:
FastStrings aus https://www.droopyeyes.com
Syntax:
Finden Sie für den Demo-Einsatz www.howtodothings.com.
****************************************************************************)
Schnittstelle
verwendet Klassen, FastStringFuncs, FastStrings;
Typ
TTagType = (TtBeginTag, TtEndTag, TtRawText);
THTMLParseProc = Prozedur (const HTMLData: string; TagType: TTagType;
Parameter: TStrings);
Procedure ParseHTML (const HTML: string; ParseProc: THTMLParseProc);
Umsetzung
SysUtils verwendet;
const
(* Hinweis: die folgende Datei herunterladen, die folgenden Codes sind falsch
in einem Browser wie folgt angezeigt :-) *)
THTMLReplaceWords: Array [0..4] des String-Arrays [0.. 1] = ((' ',' '),
('& ', '&'), ('< ', ' <'), ('> ', ' >'), (''', '''));
Procedure ParseHTML (const HTML: string; ParseProc: THTMLParseProc);
Prozedur CallTagProc (IsTag: Boolean; HTMLData: string);
var
s: String;
SL: TStringList;
I: Integer;
beginnen
HTMLData: = Trim(HTMLData);
Wenn Length(HTMLData) > 0 dann
beginnen
Wenn dann IsTag
beginnen
Wenn Pos (' ', HTMLData) > 0 dann
s: = Trim (Kopie (HTMLData, 1, Pos (' ', HTMLData)))
sonst
s: = Trim(HTMLData);
SL: = TStringList.Create;
versuchen Sie
SL. Text: = Trim (Kopie (HTMLData, Length(s) + 1, length(HTMLData)));
SL. Text: = Trim (FastReplace (sl. Text, ';', #13));
SL. Text: = Trim (FastReplace (sl. Text, ' '', #13));
SL. Text: = Trim (FastReplace (sl. Text, ' '', ''));
Wenn LeftStr (s, 1) = '/' dann
THTMLParseProc(ParseProc) (uppercase(s), TtEndTag, sl)
sonst
THTMLParseProc(ParseProc) (UpperCase(s), TtBeginTag, sl);
Schließlich
SL. Frei;
Ende;
anderes Ende
beginnen
für I: = 0 bis 4 tun
HTMLData: = FastReplace (HTMLData, THTMLReplaceWords [I, 0],
THTMLReplaceWords [I 1]);
THTMLParseProc(ParseProc) (HTMLData, TtRawText, Nil);
Ende;
Ende;
Ende;
var
s: String;
P: PChar;
beginnen
Assert(Assigned(ParseProc));
P: = PChar(HTML);
s := '';
zwar P ^ tun <> #0
beginnen
Fall P ^ von
'<':
beginnen
CallTagProc (falsche, s);
s := '';
Ende;
' >':
beginnen
CallTagProc (wahr, s);
s := '';
Ende;
sonst
s: = s + P ^;
Ende; Fall
Inc(P);
Ende;
Ende;
Ende.
---ENDE CODEBLOCK---
Downloads:
Quelle: HTMLParse.pas
Demo:
htmlparse.zip
Alle die mit D6 getestet.
Parsehtml
By Wiezutun
Parsehtml : Mehreren tausend Tipps, um Ihr Leben einfacher machen.