webForumDet fria alternativet

Funktionen som ger klickbara länkar fungerar inte längre.

ASP

4 svar · 282 visningar · startad av Oputres

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

Allå!

Så här ser min asp-fil med funktioner ut:

<%
'------------------------------------------------------------- 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
'[B][ och ] är bytt mot ( och ) eftersom forumet annars tolkar koden[/B]
s = Replace(s, "(B)", "<b>")
s = Replace(s, "(/B)", "</b>")
s = Replace(s, "(I)", "<i>")
s = Replace(s, "(/I)", "</i>")
s = Replace(s, "(U)", "<u>")
s = Replace(s, "(/U)", "</u>")
s = Replace(s, vbCrLf, "<br>")
s = Replace(s,"","") '[B]Denna rad skall ersätta en fyrkant, vilket inte syns i forumet[/B]

Visa = s

End Function

'------------------------------------------------------------- KONVERTERA FORM-INNEHÅLL FÖR DB-UPPDATERING

Function Uppdatera(sfix)
sfix = Replace(Trim(sfix), "'", "''")
sfix = Replace(sfix, "|", "")
Uppdatera = sfix

End Function

'------------------------------------------------------------- KORTA NER EN TEXT
Function WordLeft(strText, intNoOfWords)
	Dim arrText, strippedText, I
	arrText = Split(strText, " ")
	If UBound(arrText) => intNoOfWords Then
		For I = 0 To (intNoOfWords - 1)
			If i = (intNoOfWords - 1) Then
				strippedText = strippedText & arrText(i) & "..."
			Else
				strippedText = strippedText & arrText(i) & " "
			End if
		Next
	Else
		strippedText = strText
	End If
	WordLeft = strippedText
End Function
%>

Jag länkar in den med:
<!-- #include file="inst/funktioner.asp" -->

...och skriver så här för att nyttja funktionen Visa() som bör ge klickbara länkar och ersätter med <b>:

If Not RS.EOF Then
  strPresentation = RS("Presentation")
  If Len(strPresentation) > 0 Then
    Response.Write Visa(Server.HTMLEncode(strPresentation))
  End If
End If

Alla HTML-formateringar fungerar som de skall, dock ej funktionen som skall ge klickbara länkar. Den har tidigare fungerat på andra hemsidor men jag har nu lagt in flera funktioner (html-konventeringen har dock alltid funnits där, fast den har nu utökats) och bara bytt namn på den. Hittar ni något fel?

Medlem sedan jan. 2000978 inlägg
#2

Jag tycker dina IF-satser ser väldigt konstiga ut i visa-funktionen. Kolla igenom dom noga för du har troligen glömt minst ett endif.
Eller så har du klistrat in dom fel. ;)

Medlem sedan jan. 2003438 inlägg
#3

Testade precis din kod, hittar inget fel.

Har du lust att kopiera in texten "strPresentation", om den är väldigt lång så kan du korta ner den en aning.

En liten kort fråga, länkarna är av rätt format?
https://www.webforum.nu
http://www.webforum.nu

Medlem sedan feb. 2004333 inlägg
#4

strPresentation bara av en testtext, bl.a. med länkarna:

http://www.monstrum.se
https://www.monstrum.se

Ingen av dem blir klickbara. Grejen är ju att funktionerna tidigare har fungerat på en annan sida. Kan det ha att göra med mina includes?

När man anropar default.asp inkluderas funktioner.asp och man skickas vidare till default.asp?Sida=Start vilken inkluderar start.asp där funktionerna körs. Fast det faktum att alla funktioner på sidan fungerar förbryllar ju något.

Medlem sedan juni 200032 967 inlägg
#5

Ta bort on error resume next.

Det går ju inte att felsöka om man inte får några felmeddelanden...

811 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
675 ms — ändringar (db)