webForumDet fria alternativet

Forumkod

ASP

14 svar · 378 visningar · startad av MickeA.com

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

Hej

Har sökt llite runt och hittat en del som har med forumkod att göra.

Men hag får det inte att funka alls.

Ut skriften av mina inlägg:

Response.Write(SmileyReplace(post))

Tror det är det som ställer till det, har även en smileyfunkcion (Erik Juhlins), "post" är variabeln som ska dskrivas ut, den innhåller alla poster.

Använder även str = Server.HTMLEncode(str) vilket verkar ställa till det, visst man ska ju inte kunna skriva kod som körs, mens kriver man tex. en länk, så skriv hela taggen ut, vilket jag inte vill.

Ngn som har tips på hur jag ska få det här o funka schysst`?

Medlem sedan juni 200032 967 inlägg
#2

Jag förstår inte vad problemet är.

Medlem sedan jan. 20032 285 inlägg
#3

Re: Forumkod

MickeA.com skrev:

Använder även str = Server.HTMLEncode(str) vilket verkar ställa till det, visst man ska ju inte kunna skriva kod som körs, mens kriver man tex. en länk, så skriv hela taggen ut, vilket jag inte vill.

Du får väl bestämma dig? Antingen kan man använda HTML, eller så kan man det inte! Annars får du använda dig av specialtaggar tillsammans med Regular Expressions.

Medlem sedan feb. 20034 441 inlägg
#4

Problemet är att jag inte kan få till ngn FORUM KOD

inte heller ngt som fixar länkar och mailadresser, alltså en fun´ction som fixar sånt.

Har sökt på "Forum Kod" och hittat lite, men inget som funkar för mig, jag vill alltså kunna åstakomma FORUM KOD på mitt forum, att man skriver "[KOD]" så fattar det det osv...

Medlem sedan feb. 20034 441 inlägg
#5

Ingen som vill hjälpa till?

Medlem sedan mars 20023 561 inlägg
#6
Function Fix(text)
     Fix = Replace(text, "[ i]", "<i>")
     Fix = Replace(fix, "[/ i]", "</i>")
     '// HÄR ÄR DET FRITT FRAM ATT LÄGGA TILL EGNA!
End Function

Fixedtext = Fix("[i ]Hej[/i ] jag heter Obi One Kenobi.")

Osv...
OBS! De mellanslag som nu finns med är bara där för att inte wF ska byta ut dem mot kursiv text.

Medlem sedan feb. 20034 441 inlägg
#7

Okej, tack ska kolla om det funkar snart, för jag har ju även en function för smileys, som verkar ställa till det, då ska det walltså se ut dåhär:

FixedText = Fix(SmileysReplaced(texten))

Hur ska jag då göra för att tex. kunna använda mig av a href?

< a href='länken.htm' target='_blank' >LÄNKEN < / a >

om jag vill att resultatet av det ska bli

LÄNKEN

Hur bör det se ut då?

Medlem sedan jan. 20032 285 inlägg
#8

Hm... Då kan du ju använda RegExp. Bifogar lite kod, med reservation för fel.

Set RegExp = New Regexp
RegExp.Global = True
RegExp.IgnoreCase = True
RegExp.Pattern = "\[url\=(.*)\](.*)\[\/url\]"
str = RegExp.Replace(str, "<a href=""$1"">$2</a>")
Set RegExp = Nothing
Medlem sedan mars 20023 561 inlägg
#9

Så länge du inte kör Server.HtmlEncode på strängen kan du använda dig av all html-kod.

Lägg istället alla dina funktioner av det här slaget i samma, borde bli mycket smidigare så.

Medlem sedan feb. 20034 441 inlägg
#10

Nu har jag såhär:

Function Fix(text)
     Fix = Replace(text, "[i ]", "<i>")
     Fix = Replace(fix, "[/i ]", "</i>")
	 Fix = Replace(text1, "[b ]", "<b>")
     Fix = Replace(fix, "[/b ]", "</b>")
	 Fix = Replace(text2, "[u ]", "<u>")
     Fix = Replace(fix, "[/u ]", "</u>")

Och utskriften:

Fixedtext = Fix(SmileyReplace(post))
Response.Write (Fixedtext)

Resultatet blir att itne en enda tråd skriv ut...

Hur skulle en komplett funkction av dessa tre funkctioner kunna se ut?

'Smileys
Function SmileyReplace(sString)
	Dim dic, k
	Set dic = Server.CreateObject("Scripting.Dictionary")
	
	dic(":D") = "../smiley/asgarv.gif" : dic(":)") = "../smiley/happy.gif"
	dic(";)") = "../smiley/bounce2.gif" : dic("8)") = "../smiley/glasses.gif"
	dic(":P") = "../smiley/tongue.gif" : dic("B)") = "../smiley/Eyecrazy.gif"
	dic(":/") = "../smiley/skriker.gif" : dic(":(") = "../smiley/pissed.gif"
	dic(":#") = "../smiley/throwup.gif"
	
	For Each k In dic.Keys
		sString = Replace(sString, " " & k, " <img src=""" & dic(k) & """>", 1, -1, 1)
	Next 'k
	
	Set dic = Nothing
	
	SmileyReplace = sString
End Function

Och för texten:

Function Fix(text)
     Fix = Replace(text, "[i ]", "<i>")
     Fix = Replace(fix, "[/i ]", "</i>")
	 Fix = Replace(text1, "[b ]", "<b>")
     Fix = Replace(fix, "[/b ]", "</b>")
	 Fix = Replace(text2, "[u ]", "<u>")
     Fix = Replace(fix, "[/u ]", "</u>")

     '// HÄR ÄR DET FRITT FRAM ATT LÄGGA TILL EGNA!
End Function

Sen den sista som Sebbe gav mig.

Medlem sedan sep. 20026 425 inlägg
#11

Här har du en funktion som jag plockat från mitt Dileno-forum som du finner under https://www.dileno.hel.nu/forum eller under ASP-scripten här på wF. ;)

Funktionen fixar:

- länkar av vanlig text
- gör så att man kan använda en del HTML-taggar via []-taggarna
- citering!
- e-postadresser av vanlig text

Function FCode(str)

str = Replace(str,"<","&lt;")
str = Replace(str,VbCrLf,"<br />")

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

'start citering
objRE.Pattern = "\[citat=(.*?)](\w\s)*"
str = objRE.Replace(str,"<br />[citat=$1]")

objRE.Pattern = "\[citat=(.*?)]"
str = objRE.Replace(str,"<blockquote><b>$1</b> skrev:<hr /><span class=""citat"">")

objRE.Pattern = "\[citat\](\w[åäö]*\s[åäö]*)*"
str = objRE.Replace(str,"<blockquote><br /><span class=""cit"">Citat:</span><hr /><span class=""citat"">$1")

objRE.Pattern = "\[/citat\]"
str = objRE.Replace(str,"</span><hr /></blockquote>")
'slut citering

'start kod
objRE.Pattern = "\[kod\]"
str = objRE.Replace(str,"<blockquote><span class=""kod"">Kod:<hr />")

objRE.Pattern = "\[/kod\]"
str = objRE.Replace(str,"<hr /></span></blockquote>")
'slut kod

objRE.Pattern = "\[(b|/b|i|/i|u|/u)\]"
str = objRE.Replace(str,"<$1>")

'fixa länkar och e-postadresser
objRE.Pattern = "([url]www.[/url][^ ]*[a-z])|([url]http://[/url][^ ]*[a-z])"
str = objRE.Replace(str,"<a href=""$1$2"" target=""_blank"">$1$2</a>")

'buggfixningar
str = Replace(str,"""www","""http://www")
str = Replace(str,"""http://www""","""www""")

str = Replace(str,"<br""","""")
str = Replace(str,"<br</a> />","</a><br />")

str = Replace(str,"</span><hr""","""")
str = Replace(str,"</span><hr</a> />","</a></span><hr />")

str = Replace(str,"<blockquote><span""","""")
str = Replace(str,"<blockquote><span</a>","</a><span")
str = Replace(str,"</b</a>>","</b>")
'slut

objRE.Pattern = "([\w~\-\.]+@[\w~\-\.]+[a-z])"
str = objRE.Replace(str,"<a href=""mailto:$1"">$1</a>")
'slut länkar och e-postadresser

Set objRE = Nothing

Fcode = str
End Function
'slut
Medlem sedan feb. 20034 441 inlägg
#12

Nu blev allt ännu värre:

Response.Write(Fcode(SmileyReplace(svar)))

Nu blir ALLT till htmlkod, som inte tolkas, så det blir bara en himla massa kod av allt, inget tolkas:

<table width='100%' border='0'><tr><td align='left' bgcolor='#FCFDCD'><font color='#000000' face='Verdana' size='2'><b>Prova de nya smiley'sarna</b></td><td align='right' bgcolor='#FCFDCD'>Av: Micke Andersson den 2003-06-05 12:20:03  <i>127.0.0.1</i></font></td></tr><tr><td width='100%' colspan='2'><font color='000000' face='Verdana' size='2'><br> <img src="../smiley/asgarv.gif"> <img src="../smiley/bounce2.gif"> <img src="../smiley/tongue.gif"> <img src="../smiley/happy.gif"> <img src="../smiley/glasses.gif"> <img src="../smiley/Eyecrazy.gif"> <img src="../smiley/skriker.gif"> <img src="../smiley/pissed.gif"> <img src="../smiley/throwup.gif"></td></tr><tr><td width='100%' colspan='2' bgcolor='#FCFDCD'></font></td></tr><tr><td width='100%' colspan='2'><hr noshade='noshade' style='height: 1px; color: #ccc' /></td></tr><tr><td align='left' bgcolor='#FCFDCD'></td><td align='right' bgcolor='#FCFDCD'>Av: fvfv den 2003-06-05 16:12:41  <i>127.0.0.1</i></font></td></tr><tr><td width='100%' colspan='2'><font color='000000' face='Verdana' size='2'><br><b>FET</b>Text</td></tr><tr><td width='100%' colspan='2' bgcolor='#FCFDCD'></font></td></tr><tr><td width='100%' colspan='2' height='20'><hr noshade='noshade' style='height: 1px; color: #ccc' /></td></tr><tr><td align='left' bgcolor='#FCFDCD'></td><td align='right' bgcolor='#FCFDCD'>Av: Micke Andersson1 den 2003-06-05 16:16:06  <i>127.0.0.1</i></font></td></tr><tr><td width='100%' colspan='2'><font color='000000' face='Verdana' size='2'><br>TEXTEN</td></tr><tr><td width='100%' colspan='2' bgcolor='#FCFDCD'></font></td></tr><tr><td width='100%' colspan='2' height='20'><hr noshade='noshade' style='height: 1px; color: #ccc' /></td></tr>
Medlem sedan feb. 20034 441 inlägg
#13

Sen undrar jag, det här med Server.HTMLEncode(texten) ska jag ha med det eller ska jag skippa det helt och hållet?

Om ja, ska jag ha mdet när infon SKRIVS tll DB eller när den LÄSES från den?

Medlem sedan feb. 20034 441 inlägg
#14

Det är klart det inte funkar...

JAg hade ju Fcode(Hela långa koden...) som innehöll alla htmltaggar för tabeller mm.

Så jag gjorde såhär:

"..blablalba..." & Fcode(oRec("inlagg")) & "blablalba" osv osv...

Nu funar det, tack

Medlem sedan sep. 20026 425 inlägg
#15

Vad bra att det fungerade. ;)

263 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)