webForumDet fria alternativet

Replace fråga

4 svar · 257 visningar · startad av Wickmark

WickmarkMedlem sedan juli 2003162 inlägg
#1

Jag har ett litet problem! Elelr ett ganska stort ett!

Jag har ett 'skriptarkiv', där jag skriver ut guider med hjälp av:

<%=smile(RecSet("Guide"))%>

All text som är innanför <code> eller [code] taggarna läggs i ett textfält:

<textarea readonly wrap="off" class="Code">Text innanför <code> eller [code] taggarna</textarea>

Allt funkar precis som det ska, tills texten i textrutan skrivs ut! Alla radbrytningar i källkoden ersätts med BR ju (smile funktionen)!

Kan man göra en funktion som skippar <br> radbrytningar om texten är innanför <code> eller [code] taggarna?

Extra:

Function BlockUnAllowedHTML(ByVal sStr)
	Dim vAllowedHTML, i, objRegExp
	vAllowedHTML = Array("b", "u","br","fieldset","legend","hr","strong","code","font")
	
	sStr = Server.HTMLEncode(sStr & "")
	
	Set objRegExp = New RegExp
	objRegExp.IgnoreCase = True
	objRegExp.Global = True
	
	For i = 0 To UBound(vAllowedHTML)
		objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ")&gt;([\s\S]*?)&lt;/(" & vAllowedHTML(i) & ")&gt;"
		sStr = objRegExp.Replace(sStr, "<$1>$2</$3>")
		objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ".*?)&gt;([\s\S]*?)&lt;/(" & vAllowedHTML(i) & ")&gt;"
		sStr = objRegExp.Replace(sStr, "<$1>$2</$3>")
		
	Next 'i
	
	Set objRegExp = Nothing
	
	BlockUnAllowedHTML = sStr
End Function

(funktion som skriver ut alla HTML taggar som inte tillåts! Kanske man kan editera denna?)

Jag vet att jag har postat en liknande tråd innan, men denna nya har omformulerats och ändrat överskrift (eftersom det händer att man skippar överskrifter som man vet man redan har kollat på, och inte kunde svara, även om författaren har redigerat dom)

MVH
Wickmark

Jesper TMedlem sedan nov. 20017 144 inlägg
#2
textarea="Hej mamma<br>hur mår du"
Response.write replace(text,"<br>",vbCrlf)

Borde bli:
Hej mamma
hur mår du
i ditt textfält.

NickemannenMedlem sedan aug. 20003 575 inlägg
#3

Ett tips.

lägg inte in <br> som radbrytningar i databasen

WickmarkMedlem sedan juli 2003162 inlägg
#4

Nickemannen skrev:

Ett tips.

lägg inte in <br> som radbrytningar i databasen

Det har jag inte gjort!

Utan smile är en funktion som ersätter vbcrlf med <br>!

WickmarkMedlem sedan juli 2003162 inlägg
#5

Heh, ni missförstår mig!
Såhär ser header.asp ut:

<%

Function smile(strSmilies)
	if Request.QueryString("s") = "sON" or Request.QueryString("s") = "" Then
	  if Session("ADMIN") = "ON" Then 'Turn the smilies temporary off, til' I've found something better!
		strSmilies = Replace(strSmilies,":)","<img src='/LWSWE/gul/bilder/smilies/smile.gif'>")
		strSmilies = Replace(strSmilies,":D","<img src='/LWSWE/gul/bilder/smilies/biggrin.gif'>")
		strSmilies = Replace(strSmilies,":(","<img src='/LWSWE/gul/bilder/smilies/sad.gif'>")
		strSmilies = Replace(strSmilies,":@","<img src='/LWSWE/gul/bilder/smilies/mad.gif'>")
		strSmilies = Replace(strSmilies,":P","<img src='/LWSWE/gul/bilder/smilies/tongue.gif'>")
		strSmilies = Replace(strSmilies,":O","<img src='/LWSWE/gul/bilder/smilies/shocked.gif'>")
		strSmilies = Replace(strSmilies,";)","<img src='/LWSWE/gul/bilder/smilies/wink.gif'>")
		strSmilies = Replace(strSmilies,":uhh:","<img src='/LWSWE/gul/bilder/smilies/uhh.gif'>")
	  end if
	end if
	strSmilies = Replace(strSmilies,vbCrlf,"<br>"&vbCrLf)
	strSmilies = Replace(strSmilies,"[LINK]","<a href='")
	strSmilies = Replace(strSmilies,"[link]","[<a href='")
	strSmilies = Replace(strSmilies,"[/LINK]","' target='_blank'>Link</a>]")
	strSmilies = Replace(strSmilies,"[/link]","' target='_blank'>Link</a>]")
	strSmilies = Replace(strSmilies,"[DL]","<a href='")
	strSmilies = Replace(strSmilies,"[dl]","[<a href='")
	strSmilies = Replace(strSmilies,"[/DL]","' target='_blank'>Download</a>]")
	strSmilies = Replace(strSmilies,"[/dl]","' target='_blank'>Download</a>]")
	strSmilies = Replace(strSmilies,"[b]","<b>")
	strSmilies = Replace(strSmilies,"[/b]","</b>")
	strSmilies = Replace(strSmilies,"[B]","<strong>")
	strSmilies = Replace(strSmilies,"[/B]","</strong>")
	strSmilies = Replace(strSmilies,"[i]","<i>")
	strSmilies = Replace(strSmilies,"[I]","<i>")
	strSmilies = Replace(strSmilies,"[/i]","</i>")
	strSmilies = Replace(strSmilies,"[/I]","</i>")
	strSmilies = Replace(strSmilies,"[line]","<hr noshade color='#CCCCCC' size='1'>")
	strSmilies = Replace(strSmilies,"[LINE]","<hr noshade color='#CCCCCC' size='1'>")
	strSmilies = Replace(strSmilies,"<svar>","<font style=""color:#4E77BA;"">")
	strSmilies = Replace(strSmilies,"</svar>","</font>")
	strSmilies = Replace(strSmilies,"<SVAR>","<font style=""color:#4E77BA;"">")
	strSmilies = Replace(strSmilies,"</SVAR>","</font>")
	strSmilies = Replace(strSmilies,"|",",")
	strSmilies = Replace(strSmilies,"å","&aring;")
	strSmilies = Replace(strSmilies,"Å","&Aring;")
	strSmilies = Replace(strSmilies,"ä","&auml;")
	strSmilies = Replace(strSmilies,"Ä","&Auml;")
	strSmilies = Replace(strSmilies,"ö","&ouml;")
	strSmilies = Replace(strSmilies,"Ö","&Ouml;")
	strSmilies = Replace(strSmilies,"<code>","<textarea readonly wrap=""off"" class=""Code"">")
	strSmilies = Replace(strSmilies,"</code>","</textarea>")
smile = strSmilies
End Function

Function BlockUnAllowedHTML(ByVal sStr)
	Dim vAllowedHTML, i, objRegExp
	vAllowedHTML = Array("b", "u","br","fieldset","legend","hr","strong","code","font","span")
	
	sStr = Server.HTMLEncode(sStr & "")
	
	Set objRegExp = New RegExp
	objRegExp.IgnoreCase = True
	objRegExp.Global = True
	
	For i = 0 To UBound(vAllowedHTML)
		objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ")&gt;([\s\S]*?)&lt;/(" & vAllowedHTML(i) & ")&gt;"
		sStr = objRegExp.Replace(sStr, "<$1>$2</$3>")
		objRegExp.Pattern = "&lt;(" & vAllowedHTML(i) & ".*?)&gt;([\s\S]*?)&lt;/(" & vAllowedHTML(i) & ")&gt;"
		sStr = objRegExp.Replace(sStr, "<$1>$2</$3>")
		
	Next 'i
	
	Set objRegExp = Nothing
	
	BlockUnAllowedHTML = sStr
End Function

%>

Hoppas ni förstår nu :)

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)