webForumDet fria alternativet

Inga smileys mellan [kod] och [/kod]

ASP

4 svar · 1 071 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Frågan#1

Har denna funktion:

Function Free(txt)
	txt = Replace(txt, ":)", "<img src=""smileys/smile.gif"">")
	txt = Replace(txt, ":D", "<img src=""smileys/biggrin.gif"">")
	txt = Replace(txt, ";)", "<img src=""smileys/wink.gif"">")
	txt = Replace(txt, ":P", "<img src=""smileys/tongue.gif"">")
	txt = Replace(txt, ":o", "<img src=""smileys/oh.gif"">")
	txt = Replace(txt, ":@", "<img src=""smileys/angry.gif"">")
	txt = Replace(txt, ":x", "<img src=""smileys/dead.gif"">")
	txt = Replace(txt, ":s", "<img src=""smileys/devil.gif"">")
	txt = Replace(txt, ":(", "<img src=""smileys/frown.gif"">")
	txt = Replace(txt, ":&amp;", "<img src=""smileys/clown.gif"">") 

	txt = Replace(txt, "[kod ]", "Kod:<hr color='#999999' width='100%'><font color='#AA0404'>")
	txt = Replace(txt, "[/kod ]", "</font><hr color='#999999' width='100%'>")

        free = txt
End Function

Nu om man skriver tex:

[ kod] :)

så blir det en smileygubbe i koden.

Hur ska man göra så att den inte omvandlar :) till en smileybild mellan kod-taggarna?

Medlem sedan aug. 2002207 inlägg
#2

Finns självklart andra sätt, men:

Först, se om [ kod] samt finns med i koden och kolla även vart [ kod] är och vart är. Kontrollera sedan vart din smilie är Är den mellan så skall den inte göras om.

Finns som sagt säker andra lösningar, men denna var den första jag kunde komma på iaf.

Medlem sedan feb. 20011 498 inlägg
#3

Hmm, tror det blir rätt så krångligt med den lösningen, finns det ingen smartare lösning? :q

Medlem sedan juni 2002256 inlägg
#4

Denna söta funktion funkar ganska bra : )

<% 
Function orderFunc(str,done)
sW = "[ kod]"
eW = "[ /kod]"

sPos = InStr(LCase(str),sW)
	If sPos > 0 Then
	mStr = Mid(str, sPos+Len(sW))
	ePos = InStr(LCase(mStr),eW)
		If ePos > 0 Then
		p1 = Left(str, sPos-1)
		p2 = Left(mStr,ePos-1)
		p3 = Right(str,Len(str)-Len(p1)-Len(p2)-Len(sW)-Len(eW))
		End If
	End If

If p2 <> "" Then
orderFunc = orderFunc(p3,done&Free(p1)&p2)
Else
orderFunc = done & Free(str)
End if
End Function

Function Free(txt)
	txt = Replace(txt, ":)", "<img src=""smileys/smile.gif"">")
	txt = Replace(txt, ":D", "<img src=""smileys/biggrin.gif"">")
	txt = Replace(txt, ";)", "<img src=""smileys/wink.gif"">")
	txt = Replace(txt, ":P", "<img src=""smileys/tongue.gif"">")
	txt = Replace(txt, ":o", "<img src=""smileys/oh.gif"">")
	txt = Replace(txt, ":@", "<img src=""smileys/angry.gif"">")
	txt = Replace(txt, ":x", "<img src=""smileys/dead.gif"">")
	txt = Replace(txt, ":s", "<img src=""smileys/devil.gif"">")
	txt = Replace(txt, ":(", "<img src=""smileys/frown.gif"">")
	txt = Replace(txt, ":&", "<img src=""smileys/clown.gif"">") 

   free = txt
End Function
%>

För att anropa funktionen: orderFunc("din sträng","")

Medlem sedan juni 2005584 inlägg
#5
  1. i samband med att inlägget skrivs så skriver jag tex :

    :-)
    
  2. I gästboken visas som en smily-gubbe

  3. jag har ett "gäng" med smilysar

  4. när jag skriver inlägget så klickar jag på lämplig "gubbe"

  5. den gubben visas i gästboken

Är detta görlig?

269 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)