ParseHTML

Følgende kode viser hvordan å analysere en html-fil ser forBegin TagEnd TagRaw TextThe følgende rutine demonstrerer hvordan å analysere en html file.I velkommen strømmen tilbake for å bedre rutine, hvis du har noen forslag /tips kan du gi meg know.rgdsSi Carter- --------------- BEGIN CODE BLOCK ------------------------ enhet HTMLParse, (**** ************************************************** ********************* HTMLParse Formål:.. Analyser en html-fil for å trekke ut koder og ren tekst Copyright © 2003 - TECT Software Ltd. All rights reserved Alle kode levninger tilhører TECT Software Ltd og kan ikke endres uten tillatelse bruk av denne koden er gitt til alle utviklere for private, åpen kildekode eller kommersielle programmer Ingen garanti er uttrykt eller underforstått bruk på egen risiko. Kontakt:... WEB - www.tectsoft .com e-post - [email protected] Opphavsrett må følge med File Besøk www.tectsoft.com for * lav pris * utbygger vennlig web hosting.. Krever: FastStrings fra http://www.droopyeyes.com Bruk: Se www.howtodothings.com for demo-bruk *************************. ************************************************** *) interfaceuses Klasser, FastStringFuncs, FastStrings -typen TTagType = (ttBeginTag, ttEndTag, ttRawText); THTMLParseProc = prosedyre (konst HTMLData: string; TagType: TTagType; Parametere: TStrings); prosedyre ParseHTML (konst HTML: string; ParseProc: THTMLParseProc); implementationuses SysUtils; konst (* Merk: laste ned filen under, kan følgende koder tar feil når de vises i en nettleser som dette :-) *)
THTMLReplaceWords: array [0..4] array [0..1] snor = (( '', ''), ( '& ',' & '), (' < ',' < '), (' > ',' > '), (' " ','" ')); prosedyre ParseHTML (konst HTML: string; ParseProc: THTMLParseProc); Prosedyren CallTagProc (IsTag: Boolean, HTMLData: string); Var s: string; sl: TStringList; I: Integer; begynne HTMLData: = Trim (HTMLData); hvis Lengde (HTMLData) > 0 begynne så hvis IsTag deretter begynne hvis Pos ( '', HTMLData) > 0 deretter s: = Trim (Copy (HTMLData, 1, pos ( '', HTMLData))) ellers s: = Trim (HTMLData); sl: = TStringList.Create; prøve sl.Text: = Trim (Copy (HTMLData, Lengde (s) + 1, lengde (HTMLData))); sl.Text: = Trim (FastReplace (sl.Text, ';', # 13)); sl.Text: = Trim (FastReplace (sl.Text, ' »', # 13)); sl.Text: = Trim (FastReplace (sl.Text," ',' ')); hvis LeftStr (s, 1) = '/' og deretter THTMLParseProc (ParseProc) (med store bokstaver (s), ttEndTag, sl) annet THTMLParseProc (ParseProc) (med store bokstaver (s), ttBeginTag, sl); endelig sl.Free; slutt; ende annet begynne for jeg: = 0 til 4 Gjør HTMLData: = FastReplace (HTMLData, THTMLReplaceWords [I, 0], THTMLReplaceWords [I, 1]); THTMLParseProc (ParseProc) (HTMLData, ttRawText, null); slutt; slutt; enden, Var s: string; P: PChar; begynne Assert (Assigned (ParseProc)); P: = PChar (HTML); s: = ''; mens P ^ < > # 0 gjør begynne tilfelle P ^ av '<': begynne CallTagProc (usann, s); s: = ''; slutt; '≫': begynne CallTagProc (sann, s); s: = ''; slutt; annet s: = s + P ^; slutt; //Tilfelle Inc (P); end, end, end .---------------- END kodestykket ------------------------ nedlastinger : Source File: HTMLParse.pasDemo: htmlparse.zipAll testet ved hjelp D6
.



Previous: