webForumDet fria alternativet
Logga in / Bli medlem

Replace fråga

ASP

4 svar · 260 visningar · startad av Wickmark

Medlem sedan juli 2003162 inlägg
Trådstart#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

Medlem 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.

Medlem sedan aug. 20003 575 inlägg
#3

Ett tips.

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

Medlem 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>!

Medlem 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 :)

267 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)