Avatar billede avest Nybegynder
15. juli 2004 - 11:11 Der er 13 kommentarer og
1 løsning

Læse HTML fra RichTextFelt

Jeg har på mit dokument et RT-felt som gemmer data som html.
Jeg vil gerne fjerne alle <FONT ...> tags fra dette felt.

Hvordan læser jeg feltet som html?

Hvis jeg bare benytter item.text så får jeg teksten uden html-tags.
Avatar billede notes2c Nybegynder
15. juli 2004 - 11:19 #1
Prøv med funktionen GetFormattedText
Avatar billede avest Nybegynder
15. juli 2004 - 11:37 #2
Nej, det giver det samme som .text
Avatar billede notes2c Nybegynder
15. juli 2004 - 11:50 #3
Hvad nu hvis du markerede teksten som Pass-Thru HTML
Avatar billede avest Nybegynder
15. juli 2004 - 12:47 #4
Virker ikke!
Avatar billede avest Nybegynder
15. juli 2004 - 13:17 #5
Sub Initialize
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Dim collection As NotesDocumentCollection
    Dim item As NotesItem
    Dim mime As NotesMIMEEntity
   
    session.ConvertMime = False
   
    Set db = session.currentdatabase
    Set collection = db.UnprocessedDocuments
    Set doc = collection.getfirstdocument()
   
   
    Set item = doc.GetFirstItem("aktiviteter")
   
    Set mime = item.GetMimeEntity
    Msgbox mime.ContentType,0,"ContentType"
    Msgbox mime.ContentSubType,0,"ContentSubType"
    Msgbox mime.ContentAsText,0,"Content"
    Msgbox mime.Headers,0,"Headers"
End Sub
Avatar billede avest Nybegynder
15. juli 2004 - 13:23 #6
Så mangler jeg jo bare en lille funktion som kan fjerne alle FONT tags.

Funktion RemoveTags(html as string) As String
Avatar billede notes2c Nybegynder
15. juli 2004 - 14:14 #7
Men jeg ser ikke noget richtext object i din kode.

Du har et dokument doc indeholdende RT-felt Body

Dim rtitem As New notesrichtextitem(tmpdoc, "body")
Call doc.Rendertortitem(rtitem)
bodystring = rtitem.getformattedtext(False,10000)

bodystring skulle nu indeholde din html kode
Avatar billede avest Nybegynder
15. juli 2004 - 14:22 #8
Set item = doc.GetFirstItem("aktiviteter")

Dette er mit RichTextFelt.
Avatar billede notes2c Nybegynder
15. juli 2004 - 14:41 #9
Men NotesItem har ikke funktionen GetFormattedText
Avatar billede avest Nybegynder
15. juli 2004 - 14:46 #10
Næh, men den bruger jeg jo heller ikke da jeg nu benytter MimeEntity.

Har oveikøbet fået fjernet mine tags som jeg ville.


    Set mime = item.GetMimeEntity
    htmlstring = mime.ContentAsText
    Call RemoveTags(htmlstring,"font")
    Call RemoveTags(htmlstring,"/font")

Sub RemoveTags(htmlstring As Variant, tag As String)
    Print "Fjerner tags: <"+tag
    start = Instr(htmlstring,"<"+tag)
    While start<>0
        slut = Instr(start, htmlstring,">")
       
        temp = Left(htmlstring,start-1)_
                    + Right(htmlstring,Len(htmlstring)-slut)
        htmlstring = temp       
        start = Instr(htmlstring,"<"+tag)
    Wend
End Sub
Avatar billede notes2c Nybegynder
15. juli 2004 - 15:27 #11
OK - Fint
Avatar billede avest Nybegynder
15. juli 2004 - 16:41 #12
Hmm bortset fra at hvergang jeg gemmer mit dokument bliver der sat et linieskift ind i alle mine "Gem som HTML/MIME"-felter er det godt.

Men det er jo noget rod at der nu står
"<br><br><br><br><br><br>Test af ...."

Hnmm. Endernok med at jeg skal oprette et nyt spørgsmål på dette..
Avatar billede pr0gm4n Nybegynder
16. juli 2004 - 11:23 #13
Dejligt at se at du giver dig tid til at skrive svaret her, selvom det er dig selv der har fundet det. Top$ videsdeling :-D

Og den NotesMIMEEntity-fætter kan faktisk bruges til mange gode ting.
Avatar billede avest Nybegynder
20. juli 2004 - 10:33 #14
Hmmm, jeg kan desværre ikke komme af med mine <br> så de sidste dages programmering er spildt. Notes igen.....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester