HTML Tags entfernen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
wichtel
Beiträge: 150
Registriert: 09.09.2004 08:35
Wohnort: Hattersheim

HTML Tags entfernen

Beitrag 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,"<",">","")
PB / jaPBe jeweils aktuellste Version, seit 3.62 dabei, XP sp3 de/en & W7 en
walker
Beiträge: 278
Registriert: 29.08.2004 18:39
Wohnort: Bayern

Beitrag 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
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: HTML Tags entfernen

Beitrag 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
Benutzeravatar
wichtel
Beiträge: 150
Registriert: 09.09.2004 08:35
Wohnort: Hattersheim

Beitrag von wichtel »

@Kiffi: coole Idee
Werde ich mal ausprobieren.
Danke.
PB / jaPBe jeweils aktuellste Version, seit 3.62 dabei, XP sp3 de/en & W7 en
Antworten