webForumDet fria alternativet
Logga in / Bli medlem

Replace?

ASP

13 svar · 246 visningar · startad av Hägglund

Medlem sedan juni 200137 inlägg
Trådstart#1

Halloj!!
Fredag, och lön, kan livet bli mer underbart?

Jag har ett litet problem, eller en fråga rättare sagt.
Jag har en databas som innehåller bland annat ett memo-fält.
Jag vill att allt som står innanför paranteser skall skrivas ut inom <li> taggar.
Har hört mig för och fått olika uppslag, använda SPLIT, använda REPLACE. Jag får dock inte ihop logiken... Kan någon hjälpa mig?
:OO

Medlem sedan dec. 19995 874 inlägg
#2

<%
Function liBreak(cTxt)
Dim objRegExp
Set objRegExp = New RegExp

objRegExp.IgnoreCase = True
objRegExp.Global = True

objRegExp.Pattern = "\\((.\*?)\\)"
liBreak = objRegExp.Replace(cTxt,"\<li\>$1\</li\>") 

Set objRegExp = Nothing

End Function

response.write liBreak("nu liar (jag) en massa (lull-lull)")

%>

Är det så du menar?

Medlem sedan dec. 19995 874 inlägg
#3

resultatet i "visa källa", blir:

nu liar <li>jag</li> en massa <li>lull-lull</li>
Medlem sedan juni 200137 inlägg
#4

Ja, kanske nått åt det hållet fast

response.write liBreak("nu liar (jag) en massa (lull-lull)")

ska vara

response.write liBreak rs("body")

Förstår du hur jag menar?

Medlem sedan dec. 19995 874 inlägg
#5

response.write liBreak(rs("body"))

Medlem sedan juni 200137 inlägg
#6

Argh!

Detta verkar inte fungera, jag sitter inte på en IIS server, utan en ChiliASP server... Nått bra förslag på hur man skriver regular expression för ChiliASP?

Medlem sedan feb. 20012 412 inlägg
#7

Hej,

Eftersom Reg exp kom i version 5 och chilliASP bara är uppe i 4.x någonting så kan du inte använda reg exp.

Du får använda enbart VB-funktionen replace() istället. Något mer omständigt och bakvänt men det går.

mvh Jörgen :)

Medlem sedan juni 200137 inlägg
#8

Oki, då var vi där...jag har bläddrat igenom mina referensverk, men jag kan inte hitta ett bra syntax på detta, och eftersom VB inte är mitt andra språk så skulle jag kunna behöva lite hjälp... :-)
My god, jag är verkligen en "pain"...

Medlem sedan feb. 20012 412 inlägg
#9

Hej, vet du i förväg vad som finns inom parantesen eller det kan variera?

Du kan ju kolla på funktionerna:

Instr()
Left()
Mid()
Right()
Replace()

mvh Jörgen :)

Medlem sedan juni 200137 inlägg
#10

Halloj!

Mjae, det kan ju variera...skulle detta funka?

= Replace(rs("body"), "[l", "<li>")

Body i det här fallet är ett memo fält som sagt, det kan innehålla en mening eller en hel skoluppsats...

Så, jag vill att om man skriver [l Detta är en bullet list l] så skall det vara samma sak som att i HTML skriva <li> Detta är en bullet list </li>

Kan man kombinera flera replace så att man får med slut taggen också?
Jag fattar inte *dum nybörjare*

Medlem sedan dec. 200012 464 inlägg
#11
<%
str = rs("body")
str = Replace(str, "[l", "<li>")
str = Replace(str, "l]", "</li>")
response.write str
%>
Medlem sedan juni 200137 inlägg
#12

Iiiiiihhhaaaaaaaaaaaaaaa!!!!

Tackar, bockar och kysser dina fötter!!

Medlem sedan feb. 20012 412 inlägg
#13

Hej, eller varför inte göra en funktion av det:

Function BytaUt(str)
str = Replace(str, "[l", "<li>")
str = Replace(str, "l]", "</li>")
BytaUt = str 
End Function
response.write "<p>"& BytaUt(rs("body")) &"</p>"

Otestat, men borde funka :)

mvh Jörgen

Medlem sedan juni 200137 inlägg
#14

Kolla!
Det funkade också ;-) Fast nu får vi ge oss, för annars kan jag inte bestämma mig :-)
Nu ser det riktigt prydligt ut *glad*

259 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)