En snabb titt säger mig att funktionen skall ha två argument: fixStr(strToFix,LinkTarget)
Du anropar den med ett:
fixStr(RecSet("message"))
5 svar · 297 visningar · startad av Dee
Hej, försöker lägga in Emmisions "länk-funktion" tillsammans med min replace men får det inte att fungera. Vad gör jag för fel?
Response.Write "<tr><td bgcolor=""#AFB7AF"" colspan=""2"" width=""650px"" height=""45px"" id='text'>"& fixStr(RecSet("message")) &"</td></tr>"
'
'
'
'
'
'
Public Function fixStr(strToFix,LinkTarget)
'fix the links (by: Emmision)
f_strText=strToFix
m_objRxp.Pattern="(^|[^""])([url]http://[/url]|[url]https://[/url]|[url]ftp://[/url]|mailto:|file://|[url]telnet://[/url]|[url]gopher://[/url])([\w/#~:.,?+=&%@!\-]*?)([\s.:?\-]*[^\w/#~:.,?+=&%@!\-]|$)"
f_strText=m_objRxp.Replace(f_strText,"$1<a target=""" & LinkTarget & """ href=""$2$3"">$2$3</a>$4")
m_objRxp.Pattern="(^|[^\w/>])(www\.[\w/#~:.,?+=&%@!\-]*?)([\s.:?\-]*[^\w/#~:.,?+=&%@!\-]|$)"
f_strText=m_objRxp.Replace(f_strText,"$1<a target=""" & LinkTarget & """ href=""http://$2"">$2</a>$3")
'objRxp.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
m_objRxp.Pattern="(^|[^:>\w])([\w\.]*@[\w\.\-]*\.\w{2,3})(\b|$)"
f_strText=m_objRxp.Replace(f_strText,"$1<a href=""mailto:$2"" class=""link"">$2</a>")
fixStr=f_strText
'fix the style
strToFix = server.HTMLEncode(strToFix)
strToFix = Replace(strToFix, vbCrLf, "<br>")
strToFix = Replace(strToFix,"[fet]","<span style=""font-weight: bold;"">")
strToFix = Replace(strToFix,"[/fet]","</span>")
strToFix = Replace(strToFix,"[kursiv]","<span style=""font-style: italic;"">")
strToFix = Replace(strToFix,"[/kursiv]","</span>")
strToFix = Replace(strToFix,"[röd]","<span style=""color: #FF0000;"">")
strToFix = Replace(strToFix,"[/röd]","</span>")
strToFix = Replace(strToFix,"[blå]","<span style=""color: #0000FF;"">")
strToFix = Replace(strToFix,"[/blå]","</span>")
Trim strToFix
fixStr = strToFix
End Function
Emmisions orginalfunktion:
Public Function ParseURLs(TextToParse,LinkTarget)
dim f_strText
f_strText=TextToParse
m_objRxp.Pattern="(^|[^""])([url]http://[/url]|[url]https://[/url]|[url]ftp://[/url]|mailto:|file://|[url]telnet://[/url]|[url]gopher://[/url])([\w/#~:.,?+=&%@!\-]*?)([\s.:?\-]*[^\w/#~:.,?+=&%@!\-]|$)"
f_strText=m_objRxp.Replace(f_strText,"$1<a target=""" & LinkTarget & """ href=""$2$3"" class=""link"">$2$3</a>$4")
m_objRxp.Pattern="(^|[^\w/>])(www\.[\w/#~:.,?+=&%@!\-]*?)([\s.:?\-]*[^\w/#~:.,?+=&%@!\-]|$)"
f_strText=m_objRxp.Replace(f_strText,"$1<a target=""" & LinkTarget & """ href=""http://$2"" class=""link"">$2</a>$3")
'objRxp.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
m_objRxp.Pattern="(^|[^:>\w])([\w\.]*@[\w\.\-]*\.\w{2,3})(\b|$)"
f_strText=m_objRxp.Replace(f_strText,"$1<a href=""mailto:$2"" class=""link"">$2</a>")
ParseURLs=f_strText
End Function
Tack på förhand.
En snabb titt säger mig att funktionen skall ha två argument: fixStr(strToFix,LinkTarget)
Du anropar den med ett:
fixStr(RecSet("message"))
Ok, men hur gör jag det då? Testade med...
Response.Write "<tr><td bgcolor=""#AFB7AF"" colspan=""2"" width=""650px"" height=""45px"" id='text'>[b]"& fixStr(RecSet("message"), blank) &"[/b]</td></tr>"
...men får det inte att fungera. :l
Först ska jag var jobbig, det blir mycket lättare om man får reda på ev. felmeddelande till att börja med.
Jaja, jag hittar inte Emmisions orginalfunktion men den där funktionen ser inte riktigt komplett ut, saknar typ:
Set m_objRxp = New RegExp
Sen i funktionen har du skrivit fel variabelnamn så emmisions del används inte inte:
fixStr=f_strText
'fix the style
strToFix = server.HTMLEncode(strToFix)
Vidare tror jag inte att du kan ha:
server.HTMLEncode(fixStr) där!?!
Så här tror jag nog att det ska fungera:
(Glöm inte att även ange target när du kallar på funktionen)
Public Function fixStr(strToFix,LinkTarget)
Set m_objRxp = New RegExp
'fix the links (by: Emmision)
f_strText=strToFix
m_objRxp.Pattern="(^|[^""])([url]http://[/url]|[url]https://[/url]|[url]ftp://[/url]|mailto:|file://|[url]telnet://[/url]|[url]gopher://[/url])([\w/#~:.,?+=&%@!\-]*?)([\s.:?\-]*[^\w/#~:.,?+=&%@!\-]|$)"
f_strText=m_objRxp.Replace(f_strText,"$1<a target=""" & LinkTarget & """ href=""$2$3"">$2$3</a>$4")
m_objRxp.Pattern="(^|[^\w/>])(www\.[\w/#~:.,?+=&%@!\-]*?)([\s.:?\-]*[^\w/#~:.,?+=&%@!\-]|$)"
f_strText=m_objRxp.Replace(f_strText,"$1<a target=""" & LinkTarget & """ href=""http://$2"">$2</a>$3")
'objRxp.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
m_objRxp.Pattern="(^|[^:>\w])([\w\.]*@[\w\.\-]*\.\w{2,3})(\b|$)"
f_strText=m_objRxp.Replace(f_strText,"$1<a href=""mailto:$2"" class=""link"">$2</a>")
fixStr=f_strText
'fix the style
strToFix = fixStr 'server.HTMLEncode(fixStr)'strToFix
strToFix = Replace(strToFix, vbCrLf, "<br>")
strToFix = Replace(strToFix,"[fet]","<span style=""font-weight: bold;"">")
strToFix = Replace(strToFix,"[/fet]","</span>")
strToFix = Replace(strToFix,"[kursiv]","<span style=""font-style: italic;"">")
strToFix = Replace(strToFix,"[/kursiv]","</span>")
strToFix = Replace(strToFix,"[red]","<span style=""color: #FF0000;"">")
strToFix = Replace(strToFix,"[/red]","</span>")
strToFix = Replace(strToFix,"[blå]","<span style=""color: #0000FF;"">")
strToFix = Replace(strToFix,"[/blå]","</span>")
Trim strToFix
fixStr = strToFix
End Function
solbulle skrev:
Först ska jag var jobbig, det blir mycket lättare om man får reda på ev. felmeddelande till att börja med.
Borde ha lärt mig det vid det här laget :r
Gjorde en egen funktion istället, men tack för hjälpen iaf.