Seite 1 von 1

HTML Tags entfernen

Verfasst: 25.11.2004 18:15
von wichtel
Ich habe ein Programe das per InternetRead_ eine HTML Datei liest und den Textinhalt auswerted.
Dabei stören die HTML tags.
Um diese zu entfernen, lade ich das HTML Dokument in ein Editorgadget und nutze meine untag() Procedur. Klappt soweit prima.
Nur kennt jemand was besseres um HTML tags zu entfernen oder noch besser HTML zo TXT zu wandeln?

Code: Alles auswählen

Procedure unTag(id.l,tagopen$,tagclose$,replace$)
  lpfindtext.FINDTEXTEX 
  flags.l=1
  lpfindtext\chrg\cpMin=0
  Repeat
    lpfindtext\chrg\cpMax=Len(GetGadgetText(id))
    lpfindtext\lpstrText=@tagopen$
    ret= SendMessage_(GadgetID(id),#EM_FINDTEXTEX,flags,@lpfindtext)
    If ret<>-1
      z=lpfindtext\chrgText\cpMin
      lpfindtext\chrg\cpMin=z
      lpfindtext\chrg\cpMax=Len(GetGadgetText(id)) 
      lpfindtext\lpstrText=@tagclose$
      ret=SendMessage_(GadgetID(id),#EM_FINDTEXTEX,flags,@lpfindtext)  
      lpfindtext\chrgText\cpMin=z
      SendMessage_(GadgetID(id),#EM_EXSETSEL,0,@lpfindtext\chrgText) 
      ;Delay(100)
      SendMessage_(GadgetID(id),#EM_REPLACESEL ,1,replace$) 
      ;Delay(100)
    EndIf  
  Until ret=-1  
  lpfindtext\chrgText\cpMin=0
  lpfindtext\chrgText\cpMax=0
  SendMessage_(GadgetID(id),#EM_EXSETSEL,0,@lpfindtext\chrgText) 
EndProcedure 

;und dann
unTag(#listing,"<head>","</head>","")
unTag(#listing,"<",">","")

Verfasst: 25.11.2004 19:54
von walker
Hi,

nein, du musst schon die Tags selbst entfernen... außer du rufst die Seite im Browser auf und benutzt Cut&Paste :wink:
ODER du suchst ein Tool im Netz (das aber nix anderes macht, als Dein Code)

cu

Re: HTML Tags entfernen

Verfasst: 25.11.2004 21:19
von Kiffi
> Nur kennt jemand was besseres um HTML tags zu entfernen oder noch
> besser HTML zo TXT zu wandeln?

einfach folgenden Code in eine VBS-Datei speichern, diese dann binär
includen und mit der VBS-Lib von FloHimself oder dem Codeschnippsel
von bingo aufrufen.

Code: Alles auswählen

Function HTML2TXT()

  Set myIE = CreateObject("InternetExplorer.Application")

  Do
  Loop While myIE.Busy

  myIE.Navigate "www.google.com"

  Do
  Loop While myIE.Busy

  HTML2TXT = myIE.Document.body.innertext
	
  MyIE.Quit

End Function
Grüße ... Kiffi

Verfasst: 25.11.2004 21:46
von wichtel
@Kiffi: coole Idee
Werde ich mal ausprobieren.
Danke.