webForumDet fria alternativet

Sammanfoga 2 funktioner...

ASP

5 svar · 297 visningar · startad av Dee

Medlem sedan okt. 2001110 inlägg
Frågan#1

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&#246;d]","<span style=""color: #FF0000;"">")
	strToFix    = Replace(strToFix,"[/r&#246;d]","</span>")
	strToFix    = Replace(strToFix,"[bl&#229;]","<span style=""color: #0000FF;"">")
	strToFix    = Replace(strToFix,"[/bl&#229;]","</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.

Medlem sedan mars 20015 287 inlägg
#2

En snabb titt säger mig att funktionen skall ha två argument: fixStr(strToFix,LinkTarget)

Du anropar den med ett:

fixStr(RecSet("message"))

Medlem sedan okt. 2001110 inlägg
#3

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

Medlem sedan nov. 20016 480 inlägg
#4

hello

vad fick du för felmess?

Medlem sedan mars 20015 287 inlägg
#5

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
Medlem sedan okt. 2001110 inlägg
#6

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.

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)