I mitt forum har jag en funktion för att göra länkar av text. När besökarna sedan ska
redigera sina inlägg så måste länken bli till en http://-text igen..
Den här koden fungerar på den första länken i texten men om man har fler länkar så skapas det
dubbletter av dessa länkar och skrivs ut. Hur fixar jag detta? Här är koden:
<% Dim Min, Go, VStart, VEnd, ThisLink, LinkDone, LinkFinished
Min = (Len(incoming)-Len(Replace(incoming,"http://","")))/Len("http://")/2
Go=0
Do While Instr(incoming,"http://")>0 And Go < Min
VStart = Instr(incoming,"<a")
VEnd = Instr(incoming,">")+1
If VStart > 0 and (VEnd > VStart) then
ThisLink = (VEnd-VStart)
LinkDone = Mid(incoming,VStart,ThisLink)
incoming = Replace(incoming,Linkdone,"")
End if
LinkFinished = Linkdone
Go = Go+1
Loop %>
OBS! Beakta at jag har lite RegExp-kod som tar bort a-taggar men det är inte lika väsentligt.
Jag antar att denna kod körs i en slinga som ser ut ungefär såhär:
do until myRs.eof
'här är din kod
myRs.movenext
loop
Problemet är att din Do While-slinga inte får något nytt värde till variabeln 'incoming' efter som den troligtvis populeras med sitt värde innan slingan drar igång (alltså ovanför den där koden). På så vis är 'incoming' samma värde ändå.
Du måste nog köra koden i en funktion, så att du får med dig det nya värdet in i slingan..
Nej nej, jag har koden i en funktion som sedan används i mitt forum vid redigering av en post i databasen.. Det enda jag vill är att koden ovan ska gå igenom varje länk i en post. Det fungerar med en länk, men om jag har flera länkar ser det ut så här: http://www.webforum.nuhttp://www.webforum.nu i stället för http://www.webforum.nu.. Hoppas ni förstår, jag behöver hjälp!