webForumDet fria alternativet

Inte ta kod som kod?

11 svar · 332 visningar · startad av ulsy

ulsyMedlem sedan aug. 2002121 inlägg
#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?

ulsyMedlem sedan aug. 2002121 inlägg
#2

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

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

PeeerMedlem 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

ulsyMedlem 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?

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

ulsyMedlem 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>
@ndersMedlem sedan juni 200032 969 inlägg
#8

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

mvh,

ulsyMedlem 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?

@ndersMedlem sedan juni 200032 969 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,

ulsyMedlem sedan aug. 2002121 inlägg
#11

Så OTROLIGT BRA det blev!!!

TACK!!!
:birp

PeeerMedlem sedan mars 20025 907 inlägg
#12

där ser man :)

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