Avatar billede cdc Novice
10. juli 2007 - 11:22 Der er 16 kommentarer og
1 løsning

LinkString problemer

Når jeg bruger denne bliver texten hentet uden <br> osv:
<%=LinkString(info)%>

Så vil jeg flette dette sammen så gpr det galt:
<%LinkString=Replace(RS("info"), vbCrLf, "<br>" )%>

Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'LinkString'

/visa.asp, line 306
Avatar billede kalp Novice
10. juli 2007 - 11:26 #1
<%
dim data = LinkString(info)
data = Replace(RS("info"), vbCrLf, "<br>" )
Response.write(data)
%>
Avatar billede kalp Novice
10. juli 2007 - 11:27 #2
<%
dim data = LinkString(info)
data = Replace(data , vbCrLf, "<br>" )
Response.write(data)
%>



sorry
Avatar billede cdc Novice
10. juli 2007 - 11:30 #3
skal denne:

<%
dim data = LinkString(info)
data = Replace(data , vbCrLf, "<br>" )
Response.write(data)
%>

placeres i body i stedet for denne:

<%LinkString=Replace(RS("info"), vbCrLf, "<br>" )%> ?

//cdc
Avatar billede kalp Novice
10. juli 2007 - 11:31 #4
ja..
Avatar billede cdc Novice
10. juli 2007 - 11:33 #5
så kommer denne:

dim data = LinkString(info)
---------^
Avatar billede kalp Novice
10. juli 2007 - 11:33 #6
<%
dim data
data = LinkString(info)
data = Replace(data , vbCrLf, "<br>" )
Response.write(data)
%>
Avatar billede cdc Novice
10. juli 2007 - 11:33 #7
sorry:

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/visa.asp, line 307

dim data = LinkString(info)
---------^
Avatar billede kalp Novice
10. juli 2007 - 11:34 #8
det er fordi jeg ikke må oprette en variabel og assigne den på samme tid..

se indlæg 11:33:20
Avatar billede cdc Novice
10. juli 2007 - 11:35 #9
så kommer der ingen fejl og ej heller text. jeg bruger denne linkstring function:

Function LinkString(strInput)
Set objRegExpHTTP1 = New RegExp
Set objRegExpHTTP2 = New RegExp
Set objRegExpEMail = New RegExp

objRegExpHTTP1.Pattern = "(http|ftp)(:\/\/[\w\._-]+\.[\w\._-]+\S*)"
objRegExpHTTP2.Pattern = "(^|[^\/])(www[^\.\s]?\.[\w\._-]+\.[A-Za-z]{2,3}[\w\S]*)"
objRegExpEMail.Pattern = "([\w\._-]+@[\w\._-]+\.[A-Za-z]{2,3}\S*)"

objRegExpHTTP1.Global = True
objRegExpHTTP2.Global = True
objRegExpEMail.Global = True

objRegExpHTTP1.IgnoreCase = True
objRegExpHTTP2.IgnoreCase = True
objRegExpEMail.IgnoreCase = True

strOutput = objRegExpEMail.Replace(strInput, " <a href='mailto:$1'>$1</a> ")
strOutput = objRegExpHTTP1.Replace(strOutput, " <a href='$1$2' target='_blank'>$1$2</a> ")
strOutput = objRegExpHTTP2.Replace(strOutput, " $1<a href='http://$2' target='_blank'>$2</a> ")

'Dette er til fordi tegn som står uden mellemrum til linket kommer med som en del af linket..
objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])('>)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2")
objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])(' target=)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2")
objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])(</a>)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2$1")

Set objRegExpHTTP2 = Nothing
set objRegExpHTTP1 = Nothing
Set objRegExpEMail = Nothing

LinkString = strOutput
End Function
%>
Avatar billede kalp Novice
10. juli 2007 - 11:37 #10
kan du så ikke bruge din oprindelige kode linje og bare rette din funktion til at være



Function LinkString(strInput)

strInput = Replace(strInput, vbCrLf, "<br>" )

Set objRegExpHTTP1 = New RegExp
Set objRegExpHTTP2 = New RegExp
Set objRegExpEMail = New RegExp

objRegExpHTTP1.Pattern = "(http|ftp)(:\/\/[\w\._-]+\.[\w\._-]+\S*)"
objRegExpHTTP2.Pattern = "(^|[^\/])(www[^\.\s]?\.[\w\._-]+\.[A-Za-z]{2,3}[\w\S]*)"
objRegExpEMail.Pattern = "([\w\._-]+@[\w\._-]+\.[A-Za-z]{2,3}\S*)"

objRegExpHTTP1.Global = True
objRegExpHTTP2.Global = True
objRegExpEMail.Global = True

objRegExpHTTP1.IgnoreCase = True
objRegExpHTTP2.IgnoreCase = True
objRegExpEMail.IgnoreCase = True

strOutput = objRegExpEMail.Replace(strInput, " <a href='mailto:$1'>$1</a> ")
strOutput = objRegExpHTTP1.Replace(strOutput, " <a href='$1$2' target='_blank'>$1$2</a> ")
strOutput = objRegExpHTTP2.Replace(strOutput, " $1<a href='http://$2' target='_blank'>$2</a> ")

'Dette er til fordi tegn som står uden mellemrum til linket kommer med som en del af linket..
objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])('>)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2")
objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])(' target=)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2")
objRegExpHTTP2.Pattern = "(<br>|[,.)\]\}])(</a>)"
strOutput = objRegExpHTTP2.Replace(strOutput, "$2$1")

Set objRegExpHTTP2 = Nothing
set objRegExpHTTP1 = Nothing
Set objRegExpEMail = Nothing

LinkString = strOutput
End Function
%>
Avatar billede cdc Novice
10. juli 2007 - 11:38 #11
hvilken oprindelige kode linje ?
Avatar billede kalp Novice
10. juli 2007 - 11:38 #12
den her

<%=LinkString(info)%>


og så den funktion du lige har fået..
Avatar billede kalp Novice
10. juli 2007 - 11:39 #13
hvis ikke det virker

så brug din egen funktion igen og denne linje til at udskrive..


<%= LinkString(Replace(RS("info"), vbCrLf, "<br>" ))%>
Avatar billede kalp Novice
10. juli 2007 - 11:40 #14
dog mener jeg replace skal skrives sådan her

<%= LinkString(Replace(RS("info"), "vbCrLf", "<br>" ))%>
Avatar billede kalp Novice
10. juli 2007 - 11:41 #15
Hold hovedet koldt:D
Avatar billede cdc Novice
10. juli 2007 - 11:42 #16
min gamle funktion med denne: <%= LinkString(Replace(RS("info"), vbCrLf, "<br>" ))%> virker. Tak for det kalp, smider du lige et svar :o)

//cdc
Avatar billede kalp Novice
10. juli 2007 - 11:43 #17
:D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester