webForumDet fria alternativet
Logga in / Bli medlem

ej tillåta html

ASP

5 svar · 181 visningar · startad av andreas_lindh

Medlem sedan jan. 20011 140 inlägg
Trådstart#1

Jag använder den här koden för att ta bort html:

<%= Server.HTMLEncode(RS("text")) %>

men den tar ju bort alla <br> också.
finns det något sätt att formatera texten innan den läggs in i databasen och att alla <br> finns kvar?

Medlem sedan mars 20002 836 inlägg
#2

Ändra inte på texten när du lägger den i databasen. Ändringar på texten görs bäst när du plockar ut den från databasen.

<%
Function formatString(ByVal sString)
	If IsEmpty(sString) Then Exit Function

	sString = Replace(sString, vbcrlf," <BR> ")

	'## -- return formatted text --
	formatString = sString
End Function

strText = rs("text")
Response.Write formatString(strText)
%>

Funktionen kan med fördel läggas i en inkluderings fil som sedan inkluderas på de sidor den behöver användas på

cya,
PatrikB

Medlem sedan jan. 20011 140 inlägg
#3

Jag får ett syntax error på den funktionen.
Microsoft VBScript compilation error '800a03ea'

Syntax error

/hockeytown/artiklar.asp, line 52

Function formatString(ByVal sString)
^

Medlem sedan maj 20011 312 inlägg
#4

Varför ska man använda sig av en funktion där Patrik...tycker du att jag borde använda det om jag skulle använda den tre gånger på en sida?

Vad är fördelarna att ha den i en funktion? Mindre kod blir det ju definitivt men vad är de andra fördelarna?

Medlem sedan mars 20002 836 inlägg
#5

Funktionen får INTE ligga i tex en loop.

Lukaspojken:
Ja, blir ju mindre att skriva än att på varje ställe där jag vill använda den skriva hela replace ......
Då räcker det med att bara anropa denna funktion.

cya,
PatrikB

Medlem sedan jan. 20011 140 inlägg
#6

Det fungerar inte riktigt. Html taggarna fungerar i alla fall

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