webForumDet fria alternativet

Problem med regexp!

12 svar · 452 visningar · startad av M.Cheraghi

M.CheraghiMedlem sedan juli 20015 107 inlägg
#1

har lite knas! detta är allt jag har i mitt ASP dokument..

<%
sText = "Hejsan detta är en text som skall formateras till bilder"

Function Smileys(sText)
sText = Server.HtmlEncode(sText)
sText = Replace(sText," a","<IMG SRC=""bilder/alfabetet/a.gif"">")
sText = Replace(sText," b","<IMG SRC=""bilder/alfabetet/b.gif"">")
sText = Replace(sText," c","<IMG SRC=""bilder/alfabetet/c.gif"">")
sText = Replace(sText," d","<IMG SRC=""bilder/alfabetet/d.gif"">")
sText = Replace(sText," e","<IMG SRC=""bilder/alfabetet/e.gif"">")
sText = Replace(sText," f","<IMG SRC=""bilder/alfabetet/f.gif"">")
sText = Replace(sText," g","<IMG SRC=""bilder/alfabetet/g.gif"">")
sText = Replace(sText," h","<IMG SRC=""bilder/alfabetet/h.gif"">")
sText = Replace(sText," i","<IMG SRC=""bilder/alfabetet/i.gif"">")
sText = Replace(sText," j","<IMG SRC=""bilder/alfabetet/j.gif"">")
sText = Replace(sText," k","<IMG SRC=""bilder/alfabetet/k.gif"">")
sText = Replace(sText," l","<IMG SRC=""bilder/alfabetet/l.gif"">")
response.write sText
End Function
%>

Jag får inget felmedelande. utan jag får bara upp en blank sida! =/ det är något som jag har missat.. men frågan är vad :)

solbulleMedlem sedan mars 20015 287 inlägg
#2
<%
sText = "Hejsan detta är en text som skall formateras till bilder"

response.write Smileys(sText)

Function Smileys(sText)
sText = Server.HtmlEncode(sText)
sText = Replace(sText," a","<IMG SRC=""bilder/alfabetet/a.gif"">")
sText = Replace(sText," b","<IMG SRC=""bilder/alfabetet/b.gif"">")
sText = Replace(sText," c","<IMG SRC=""bilder/alfabetet/c.gif"">")
sText = Replace(sText," d","<IMG SRC=""bilder/alfabetet/d.gif"">")
sText = Replace(sText," e","<IMG SRC=""bilder/alfabetet/e.gif"">")
sText = Replace(sText," f","<IMG SRC=""bilder/alfabetet/f.gif"">")
sText = Replace(sText," g","<IMG SRC=""bilder/alfabetet/g.gif"">")
sText = Replace(sText," h","<IMG SRC=""bilder/alfabetet/h.gif"">")
sText = Replace(sText," i","<IMG SRC=""bilder/alfabetet/i.gif"">")
sText = Replace(sText," j","<IMG SRC=""bilder/alfabetet/j.gif"">")
sText = Replace(sText," k","<IMG SRC=""bilder/alfabetet/k.gif"">")
sText = Replace(sText," l","<IMG SRC=""bilder/alfabetet/l.gif"">")
Smileys = sText 
End Function
%>

Du kallar bla annat inte på funktionen.

M.CheraghiMedlem sedan juli 20015 107 inlägg
#3

Tack! det hjälpte!
Fast inte fullt ut! alla bokstäver formaterades inte =/ Var typ bara 4st i hela texten som gjorde det =/ även fast jag har regexpat för hela alfabetet! (bara redigerat i inlägget så det inte tar så mkt plats)

solbulleMedlem sedan mars 20015 287 inlägg
#4

Eftersom att du har ett mellanslag innan bokstaven så blir det bara just den kombinationen som byts ut. Radera mellanslaget om alla tecken ska gås igenom.
red./ fast det där kommer inte att fungera... du kommer ju även att byta ut alla tecken i din html-kod - bilden du vill sätta in.

M.CheraghiMedlem sedan juli 20015 107 inlägg
#5

får jag upp en massa html kod i webläsaren samt att det är kryss på bilderna och webläsaren hänger sig =P
du förstår inte den lilla texten genererar ganska mycket i webläsaren när jag tar bort mellanslaget =) hehe blev rädd när jag såg resultatet! :D

@ndersMedlem sedan juni 200032 969 inlägg
#6

Bara jag som inte ser något som har med regexp att göra?

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Vad händer.? När du byter ut a mot din sträng med IMG så kommer nästa replace att byta ut delar av filnamnet . Du får byta tecken för tecken.

response.write smileys("Hej detta är en text som jag vill konvertera till bilder")
function smileys(sText)
  if  len(sText) > 0 then
      if lcase(left(sText,1)) >= "a" and left(sText,1) <= "z" then
         smileys = "<IMG=SRC=""bilder/alfabetet/" & lcase(left(sText,1)) & ".gif>""" & smileys(mid(sText,2))
      else
         smileys = left(sText,1) & smileys(mid(sText,2))
      end if
  end if
end function
M.CheraghiMedlem sedan juli 20015 107 inlägg
#8

@nders skrev:

Bara jag som inte ser något som har med regexp att göra?

:r replace då! Är du nöjd då? :)

voigtann1Medlem sedan juni 20019 519 inlägg
#9
Function Smileys(f2)
  Set objRegExp = New regexp
  objRegExp.Global = true

  objRegExp.Pattern = " ([a-z])"
  f2 = objRegExp.Replace(f2,"<img src='bilder/alfabetet/$1.gif' alt='$1' valign='middle'>")

  objRegExp.Pattern = " ([A-Z])"
  f2 = objRegExp.Replace(f2,"<img src='bilder/alfabetet/$1.gif' alt='$1' valign='middle'>")

  objRegExp.Pattern = " ([0-9])"
  f2 = objRegExp.Replace(f2,"<img src='bilder/alfabetet/$1.gif' alt='$1' valign='middle'>")

  Smileys = f2
End Function

lite mindre kod?

.red. Obs... du skulle ha ett " " i det...

M.CheraghiMedlem sedan juli 20015 107 inlägg
#10

LarsG:

det börjar närmar sig! det enda är att den skriver ut all HTML kod på sidan nu! så resultatet blir följande! (tagit bort lite, för att inte spamma sönder med onödigt sskräp som e jobbigt att scrolla)

<IMG=SRC="bilder/alfabetet/h.gif>"<IMG=SRC="bilder/alfabetet/e.gif>"<IMG=SRC="bilder/alfabetet/j.gif>" <IMG=SRC="bilder/alfabetet/d.gif>"<IMG=SRC="bilder/alfabetet/e.gif>

M.CheraghiMedlem sedan juli 20015 107 inlägg
#11
<%
response.write smileys("Hej detta är en text som jag vill konvertera till bilder")
function smileys(sText)
  if  len(sText) > 0 then
      if lcase(left(sText,1)) >= "a" and left(sText,1) <= "z" then
         smileys = "<IMG SRC=""bilder/alfabetet/" & lcase(left(sText,1)) & ".gif"">" & smileys(mid(sText,2))
      else
         smileys = left(sText,1) & smileys(mid(sText,2))
      end if
  end if
end function
%>

Den fungerar bra!

sen vill jag att den även skall formatera
1-9
å = ae.gif
ä = aee.gif
ö = oe.gif
? = fragetecken.gif
! = utropstecken.gif

vilket LarsG's inte gör. utan bara a-z! hur går man tillväga då? då Larsas kod var lite för invecklad jämnfört med vad jag är van vid! :)

LarsGMedlem sedan dec. 200012 464 inlägg
#12

Du får lägga till några elseif för övriga tecken

elseif left(sText,1) = 'Å' or left(sText,1) = 'å' then  
  smileyes  "IMG=SRC=""bilder/alfabetet/ae.gif"">" & smileys(mid(sText,2))
'etc

0-9 kan du ju hantera i den första if-grenen

M.CheraghiMedlem sedan juli 20015 107 inlägg
#13

LarsG skrev:

Du får lägga till några elseif för övriga tecken

elseif left(sText,1) = 'Å' or left(sText,1) = 'å' then  
  smileyes  "IMG=SRC=""bilder/alfabetet/ae.gif"">" & s(mid(sText,2))
'etc

0-9 kan du ju hantera i den första if-grenen

Okej! :)
Tack så mycket för hjälpen allihoppa!
svårt beslut vilken av kodsnuttarna som är rätt!
Men det blir Larsas som hjälpte mig i detta fall! :)

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)