webForumDet fria alternativet
Logga in / Bli medlem

Inte ta kod som kod?

Databaser & SQL

11 svar · 334 visningar · startad av ulsy

Medlem sedan aug. 2002121 inlägg
Trådstart#1

Har en tabell i MySQL som bla. innehåller ett textfält där det ibland skrivs in kod, precis som här.
Hur gör man för att detta inte skall uppfattas som kod,
mao inte ändra formatering eller liknande?

Medlem sedan aug. 2002121 inlägg
#2

Jag vet inte om detta är komplicerat men jag vore tacksam för någon vägledning.
:OO

Medlem sedan juni 20014 290 inlägg
#3

I exempelvis php så kan du köra texten genom funktionen htmlentites http://www.se.php.net/manual/en/function.htmlentities.php

Denna frågan ingen MySQL fråga uten en fråga för det scriptspråket du skriver i.

Medlem sedan mars 20025 907 inlägg
#4

I asp skriver du Server.HTMLEncode("texten du vill <b>förhindra</b>htmlkod i") för att bli av med förstörande kod

Medlem sedan aug. 2002121 inlägg
#5

Tack Peeer, det fungerar perfekt!

Men varför blir det inte radbryning utan att allt hamnar på samma rad?

Medlem sedan mars 20025 907 inlägg
#6

ulsy skrev:

Tack Peeer, det fungerar perfekt!

Men varför blir det inte radbryning utan att allt hamnar på samma rad?

Iomed att du kör koden ovan så plockas radbrytningarna bort.

<%
Function radbryt(strText)
strText = Server.HTMLEncode(strText)
radbryt = Replace(strText,vbcrlf,"<br>")
End Function

Response.write radbryt("texten du vill <b>förhindra</b>htmlkod i")
%>

Ovanstående borde fungera!

Medlem sedan aug. 2002121 inlägg
#7

Får det inte att fungera riktigt.
Ditt första ex. fungerade perfekt men inte det andra, jag får meddelandet:

Response.Write(Response.write radbryt("(InfobDs.Fields.Item("InfobText").Value)"))
------------------------------^

När jag skrivit:

<%
Function radbryt(strText)
strText = Server.HTMLEncode(strText)
radbryt = Replace(strText,vbcrlf,"<br>")
End Function
%>

<td colspan="5" class="FormText"><%=Response.write radbryt("(InfobDs.Fields.Item("InfobText").Value)")%></td>
  </tr>
Medlem sedan juni 200032 967 inlägg
#8

Du har med response.write två gånger.

mvh,

Medlem sedan aug. 2002121 inlägg
#9

@nders skrev:

Du har med response.write två gånger.

mvh,

Om man tittar på meddelandet ser det ut så,
men tittar man på koden är det väl inte så, eller?

Medlem sedan juni 200032 967 inlägg
#10

Jo, du har skrivit =Response.Write. = betyder response.write. Dessutom har du haft med lite citationstecken för mycket, så värdet tolkas fel.

<%Response.write radbryt(InfobDs.Fields.Item("InfobText").Value)%>

Mvh,

Medlem sedan aug. 2002121 inlägg
#11

Så OTROLIGT BRA det blev!!!

TACK!!!
:birp

Medlem sedan mars 20025 907 inlägg
#12

där ser man :)

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