Jaaa, hittade felet. Hade glömt "dimma" objRE, m, o vilket jag har som krav på det här projektet med Option.Explicit. Dett fick jag se när jag tog bort On error resume next.
Frågan#1
Allå!
Jag blir galen på den här funktionen:
<%
'------------------------------------------------------------- SKAPA KLICKBARA LÄNKAR
Function Visa(s)
On error resume next
Set objRE = new RegExp
objRE.IgnoreCase = True : objRE.Global = True
objRE.Pattern = "(http:\/\/|www\.)(\w|\&|\:|\;|\.|\/|\?|\~|\=|-)+"
Set m = objRE.Execute(s)
For Each o In m
If Right(o.Value, 1)="." Or Right(o.Value, 1)="!" Or Right(o.Value, 1)="?" Or Right(o.Value, 1)="," Then
If Left(o.Value, 3) = "www" Then s = Replace(s, o.Value, "<A HREF=""http://" & Left(o.Value, Len(o.Value)-1) & """ target=""_blank"">" & Left(o.Value, Len(o.Value)-1) & "</A>" & Right(o.Value, 1)) Else s = Replace(s, o.Value, "<A HREF=""" & Left(o.Value, Len(o.Value)-1) & """>" & Left(o.Value, Len(o.Value)-1) & "</A>" & Right(o.Value, 1))
Else
If Left(o.Value, 3) = "www" Then s = Replace(s, o.Value, "<A HREF=""http://" & o.Value & """ target=""_blank"">" & o.Value & "</A>") Else s = Replace(s, o.Value, "<A HREF=""" & o.Value & """ target=""_blank"">" & o.Value & "</A>")
End If
Next
Set objRE = Nothing
'----------- Tillåten HTML kod
s = Replace(s, "[bild]", "<div align='center'><center><img src='bildarkiv/")
s = Replace(s, "[/bild]", "' border='0'></center></div>")
s = Replace(s, "[bildtext]", "<div align='center'><center><font size='1'><i>")
s = Replace(s, "[/bildtext]", "</i></font></center></div>")
s = Replace(s, "[liten]", "<font size='1'>")
s = Replace(s, "[/liten]", "</font>")
s = Replace(s, "[stor]", "<font size='3'>")
s = Replace(s, "[/stor]", "</font>")
s = Replace(s, vbCrLf, "<br>")
s = Replace(s, "�", "")
Visa = s
End Function
%>
Alla modifierade html-kommandon fungerar som de skall men texter som börjar på http:// och www blir inte klickbara länkar, vilket är tanken. Detta fungerar utmärkt på ett annat projekt men vägrar att fungera nu.
Så här kör jag hämtningen från databasen:
<%
If Not RSTexter.EOF Then
strFaktaText = RSTexter("Fakta")
If Len(strFaktaText)>0 Then
Response.Write Visa(Server.HTMLEncode(strFaktaText))
End If
End If
%>
Jag fattar inte vad jag gör för fel. Den första delen med klickbara länkar är kopierad rakt av från ett annat projekt (fast där hette funktionen FixaLankar) och de modifierade html-koderna fungerar precis som de skall i det här projektet jag håller på med nu. Hälften fungerar alltså. vad gör jag fel?