Login Register
Frontpage Code library Pastebin

CleanUpTags

Author: Viltzu
Added: 16.4.2011 17:21
Edited: 22.4.2011 12:24
Category: Merkkijonot

Description

Käy merkkijonon läpi ja poistaa kaikki syötettyjen merkkien välissä olevan tekstin. (Toimii myös merkkijonoilla) CleanUpTags(s$, char1$, char2$, slash=1) s$ = Merkkijono joka käydään läpi char1$ = merkki josta lähtien poistetaan (tai merkkijono) char2$ = merkki johon lopetetaan (tai merkkijono) slash$ = poistetaanko samalla myös lopettava tagi. (Esim. kun <h1> poistetaan, yritetään myös poistaa </h1>) Tämä nopeuttaa läpikäyntiä, jos tageja on paljon jotka loppuvat noin. Ei ole mikään nopea, mutta en nopeampaakaan osannut. Edit: Bugeja on ainakin, jos käytät merkin tilalla merkkijonoa. Edit2: Kun koitin html sivun siivota tällä, tuli probleemia. Korjattu.

Code

Select all
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Esimerkki

s$ = "<h1>Hurr</h1> :)"
Print CleanUpTags(s$, "<", ">", 1)        // Hurr :)
Print CleanUpTags(s$, "<h1>", "</h1>", 1) // :)
WaitKey


// Funktio
Function CleanUpTags(s$, char1$, char2$, slash=1)
    For i = 1 To Int(CountWords(s$,char1$))
        pos1 = InStr(s$, char1$)
        pos2 = InStr(s$, char2$)
        If pos1<>0 And pos2<>0 And pos2>pos1 Then
            tag$ = Mid(s$, pos1, pos2-pos1+Len(char2$))     
            If slash Then
                s$ = Replace( Replace( s$, tag$, "" ), char1$+"/"+Replace( tag$,char1$,"" ), "" )
            Else
                s$ = Replace(s$, tag$, "") 
            EndIf
            i = 1
        EndIf
    Next i
    Return s$
EndFunction

Comments

No comments. You can be first!

Leave a comment

You must be logged in to comment.