webForumDet fria alternativet

Byta ut bokstäver mot bilder

ASP

22 svar · 726 visningar · startad av magnusfeldth · sida 2 av 2

Frågan, av magnusfeldth

En del sajter har ju bilder som bokstäver, med andra ord, de har en a.gif som ett A, b-gif som ett B och så vidare för att kunna skriva ut text från en databas och göra vissa textfält coolare. En kod man kan använda är tex <% Function Smiley(text) text = server.HTMLEncode(text) text = Replace(text,vbCrLf,"<br>") text = Replace(text,"a","<img src=""a.gif"">") osv... Mina frågor är tre

Läs frågan i sin helhet →
Medlem sedan maj 200010 687 inlägg
#21

Så där ja...

Function TextToImage(ByVal sString)
    
    Dim sBasePath, i, sLetter, sImg, sNewString
    Dim objRegExp
    
    sBasePath = "images/"
    
    For i = 1 To Len(sString)
        sLetter = Mid(sString, i, 1)
        Select Case Asc(sLetter)
            Case 10, 13, 32 'spaces and linebreaks
                sImg = sLetter
            Case Else
                sImg = "<img src=""" & sBasePath & Asc(sLetter) & ".gif"" border=""0"" alt=""" & Server.HTMLEncode(sLetter) & """>"
        End Select
        sNewString = sNewString & sImg
    Next 'i
    
    Set objRegExp = New RegExp
    objRegExp.Global = True
    objRegExp.Pattern = "(<[\s\S]*?>+)(\s|\n|$)"
    
    sNewString = objRegExp.Replace(sNewString, "<span style=""white-space: nowrap"">$1</span>$2")
    
    Set objRegExp = Nothing
    
    TextToImage = sNewString
    
End Function

Slipper en massa case-satser. Istället bara en för att inte replacea radbrytningar och mellanslag.

Den lägger dessutom <span style="white-space: nowrap"> kring hela "ord". Tar dock inte hänsyn till - eller liknande.

Vad de olika siffrorna är kan du se här:
http://www.webforum.nu/showthread.php?s=&threadid=100138&forumid=148

Medlem sedan jan. 20034 480 inlägg
#22

Hur får jag in rätt sökväg?

sImg = "<img src=""" & "images/letters/" & sBasePath & Asc(sLetter) & ".gif""

testade jag med men det funkar inte... sökvägen är alltså images/letters...

och sen döper jag helt enkelt om tex a.gif till 97.gif osv om jag förstår det hela rätt...

Medlem sedan jan. 20034 480 inlägg
#23

Aha, basepath! det löser problemet!

262 ms totalt · 3 externa anrop · v20260731065814-full.a4a6ad0e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)