webForumDet fria alternativet

Länka till medlem!

ASP

24 svar · 571 visningar · startad av Wiklund!!

Medlem sedan juli 2002549 inlägg
Frågan#1

Jag har haft denna tråd uppe tidigare, utan att få riktigt det svaren jag behövt.
Jag behöver denna funktion så jag skulle vara extremt tacksam om någon kunde hjälpa mig..

Jag vill att medlemmarna i min community ska kunna länka till andra medlemmar via sin pressentation.
De ska kunna skriva [m]namnet[/m] i ett textformulär så ska det bli en länk när det skrivs ut: <a href="sida.asp?anv=namnet">namnet</a>

Man måste alltså på nått sätt få reda på vad som är skrivet mellen [m] och [/m].

Tack på förhand allt hjälpsamt folk på wF.

Medlem sedan dec. 20003 887 inlägg
#2

Spana in den här tråden.

Medlem sedan juni 20019 519 inlägg
#3
<%
Function encode(mess)

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
mess = Server.HTMLEncode(mess)

objRegExp.Pattern = "\[kompis/](.*?)/[/kompis\]"
mess = objRegExp.Replace(mess,"<a href=""sida.asp?anv=$1"">$1</a>")

av = mess
End Function
%>

om du inte har löst det så ska det ser ut såhär

Medlem sedan juli 2002549 inlägg
#4

Tack för svaren. Men jag har fortfarande inte löst det.

Jag har redan en rad andra funktioner som hittar länkar, gör fet text mm. Men när jag försöker lägga in din kod fungerar det inte.

Sä här ser koden ut som jag vill baka in det i:

<%
'Formatterar text från databasen 
function checkText(forumText)
	'Radbrytning
	forumText = replace(forumText, chr(13), "<br>")
	forumText = Replace(forumText, "[app]", "'")
	
	'Skapar intendering
	forumText = replace(forumText, chr(32)&chr(32)&chr(32), "&nbsp;&nbsp;&nbsp;")
	
	'Söksträng markeras
	if not request.querystring("search") = "" then
		if not InStr(1, lcase(forumText), request.querystring("search")) = 0 then
			forumText = replace(lcase(forumText), request.querystring("search"), "<span>" & request.querystring("search") & "</span>")
		end if
	end if
	

	'Fet stil
	forumText = replace(forumText, "[b]", "<b>")
	forumText = replace(forumText, "[/b]", "</b>")
	forumText = replace(forumText, "[B]", "<b>")
	forumText = replace(forumText, "[/B]", "</b>")
	
	'Kursiv stil
	forumText = replace(forumText, "[i]", "<i>")
	forumText = replace(forumText, "[/i]", "</i>")
	forumText = replace(forumText, "[I]", "<i>")
	forumText = replace(forumText, "[/I]", "</i>")
	
	'Understruken stil
	forumText = replace(forumText, "[u]", "<u>")
	forumText = replace(forumText, "[/u]", "</u>")
	forumText = replace(forumText, "[U]", "<u>")
	forumText = replace(forumText, "[/U]", "</u>")

	'Kollar efter länkar
	forumText = checkForLinks(forumText)

	
	checkText = forumText
end function

Function checkForLinks(strInput)
	dim intStartPos, intStopPos, intPos
	dim strChar, strURL, strShowURL
	dim bolFin
	dim intRoof, k
	dim arrURL
	dim strOrg
	
	strOrg = strInput
	
	intRoof = 100
	bolFin = false
	k = 0
	
	do until bolFin = true or k = intRoof
		if not instr(1, strInput, "http://") = 0 then
			intStartPos = instr(1, strInput, "http://")
			intStopPos = len(strInput) + 1
			
			for i = intStartPos to intStopPos
				if i = intStopPos then
					strChar = mid(strInput, i, 1)
					bolFin = true
					exit for
				else
					strChar = mid(strInput, i, 1)
				end if
				
				strURL = strURL & strChar
				
				select case strChar
					case " ",")","(","[","{","!"
						strURL = left(strURL, len(strURL) - 1) & ","
						if not mid(strInput, i, intStopPos) = strInput then
							strInput = mid(strInput, i, intStopPos)
						else
							bolFin = true
						end if
						exit for
				end select
			next
		else
			bolFin = true
		end if
		
		k = k + 1
	loop
	
	strURL = replace(strURL, "<br>", ",")
	if right(strURL, 1) = "," then
		strURL = left(strURL, len(strURL) - 1)
	end if
	strURL = trim(strURL)
	arrURL = split(strURL, ",")
	
	for i = 0 to ubound(arrURL)
		if asc(arrURL(i)) = 10 then
			arrURL(i) = right(arrURL(i), len(arrURL(i)) - 1)
		elseif right(arrURL(i), 1) = "." then
			arrURL(i) = left(arrURL(i), len(arrURL(i)) - 1)
		end if
		if not arrURL(i) = "" then
			if left(arrURL(i), 7) = "http://" then
				strShowURL = arrURL(i)
				strOrg = replace(strOrg, arrURL(i), "<a href=""" & replace(replace(arrURL(i), "<span>", ""), "</span>", "") & """ target=""_blank""><b>" & replace(strShowURL, "http://", "") & "</b></a>")
			end if
		end if
	next
	
	checkForLinks = strOrg
End Function

'Översätter svenska tecken till kod och tvärtom
function translateChars(tcStr, tcWay)
	select case tcWay
		case 0 'Svenska till kod
			tcStr = replace(tcStr, "å", "&#229;")
			tcStr = replace(tcStr, "Å", "&#197;")
			tcStr = replace(tcStr, "ä", "&#228;")
			tcStr = replace(tcStr, "Ä", "&#196;")
			tcStr = replace(tcStr, "ö", "&#246;")
			tcStr = replace(tcStr, "Ö", "&#214;")
		
		case 1 'Kod till svenska
			tcStr = replace(tcStr, "&#229;", "å")
			tcStr = replace(tcStr, "&#197;", "Å")
			tcStr = replace(tcStr, "&#228;", "ä")
			tcStr = replace(tcStr, "&#196;", "Ä")
			tcStr = replace(tcStr, "&#246;", "ö")
			tcStr = replace(tcStr, "&#214;", "Ö")
	end select
	
	translateChars = tcStr
end function

'Ersätter ej tillåtna tecken
function cleanString(csStr)
	csStr = replace(csStr, "'", "")
	
	cleanString = csStr
end function
%>

<%=checkText(RecSet("presentation"))%>

Vore jätte shysst om nån kunde "baka" in koden.

Medlem sedan juli 2002549 inlägg
#5

Snälla någon som kan hjälpa mig?

Medlem sedan mars 20015 287 inlägg
#6

Är inte detta mer rätt?

<%
Function encode(mess)

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
mess = Server.HTMLEncode(mess)

objRegExp.Pattern = "\[kompis/](.*?)/[/kompis\]"
mess = objRegExp.Replace(mess,"<a href=""sida.asp?anv=$1"">$1</a>")

encode = mess
End Function
%>

Wiklund: Har du testat att köra bara den funktionen utan de andra? Fungerar det då? Annars, när knasar det? Vad är det som verkar krocka?

Medlem sedan juli 2002549 inlägg
#7

Det fungerar inte när jag bara kör med den kod jag fick av voigtann1. Har inte testat din, ska göra det.

Medlem sedan juli 2002549 inlägg
#8

Felmeddelande när jag testar!

Microsoft VBScript runtime error '800a01c2'

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

Medlem sedan mars 20015 287 inlägg
#9

Hur anropar du funktionen?

Medlem sedan juli 2002549 inlägg
#10

<%=encode%>, har testat <%=mess%> också.

Så här ser koden ut:

<%
Function encode(mess)

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
mess = Server.HTMLEncode(RecSet("personlighet"))

objRegExp.Pattern = "\[m/](.*?)/[/m\]"
mess = objRegExp.Replace(mess,"<a href=""sida.asp?anv=$1"">$1</a>")

encode = mess
End Function
%>

<%=encode%>
Medlem sedan juni 200032 967 inlägg
#11

Du har ju angett att funktionen skall ta ett argument, mess. Du måste då skicka med argumentet till funktionen. Så här borde det se ut. (Jag kan inte regexp, så jag vet inte om resten av funktionen är ok, men det utgår jag ifrån. ;) )

<%
Function encode(mess)

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true

objRegExp.Pattern = "\[m/](.*?)/[/m\]"
mess = objRegExp.Replace(mess,"<a href=""sida.asp?anv=$1"">$1</a>")

encode = mess
End Function
%>

och anropet:

Response.write encode(Server.HTMLEncode(RecSet("personlighet")))

Mvh,

Medlem sedan juli 2002549 inlägg
#12

Microsoft VBScript runtime error '800a139a'

Unexpected quantifier

Rad:
mess = objRegExp.Replace(mess,"<a href=""sida.asp?anv=$1"">$1</a>")

Medlem sedan juni 200032 967 inlägg
#13

Det felmeddelandet brukar man få om man har en för gammal version av Microsofts scriptmotor installerad. Version 5.6 kan du ladda hem här.

mvh,

Medlem sedan juli 2002549 inlägg
#14

Hmm.. Men jag kör ju en massa andra liknande funktioner. Och dom fungerar fin fint..
Inte jag som har servern. Men ska be killen installer det.

Medlem sedan juni 20019 519 inlägg
#15
<%
Function encode(mess)

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
mess = Server.HTMLEncode(mess)

objRegExp.Pattern = "\[m/](.*?)\[/m\]"
mess = objRegExp.Replace(mess,"<a href=""sida.asp?anv=$1"">$1</a>")

encode = mess
End Function
%>

fasen.. gjorde litet fel "mess = av" skrev jag på den övrer.. nu ska det fungera.. och skrev fel det ska vara \ inte / på vissa ställen :e nu fungera den

<%=encode(recset("info"))%>

detta fungera.. har testat

Medlem sedan juli 2002549 inlägg
#16

Fattar inte varför det inte fungerar för mig! Kan vara det att jag inte har den senaste script motorn installerade.

Får felmeddelandet: Oväntad kvantifierare
Rad: mess = objRegExp.Replace(mess,"<a href=""sida.asp?anv=$1"">$1</a>")

Medlem sedan juli 2002549 inlägg
#17

Laddade ner scriptmotorn. Nu försvinner felmeddelandet och texten dyker upp!

Fast när jag skriver: [m]Wiklund[/m] så blir det ingen länk, utan vanlig text. Det var [m][/m] man skulle skriva va?

Medlem sedan juli 2002549 inlägg
#18

Äntligen!! Fick till det.
Denna rad skulle se ut så här:
objRegExp.Pattern = "\[m](.*?)\[/m\]"

Tack så mycket alla för hjälpen!

Medlem sedan juni 20019 519 inlägg
#19

objRegExp.Pattern = "\[m](.*?)\[/m\]"

kan inte stämma....

objRegExp.Pattern = "\[m\](.*?)\[/m\]"

ska det vara...

Medlem sedan juli 2002549 inlägg
#20

Nej det som jag skrev stämmer. Bli medlem på https://www.skate.nu och testa. Var av en ren slump jag löste det.

273 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)