U ulsy Medlem sedan aug. 2002 121 inlägg Trådstart 18 jan. 2003 16:37 #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?
U ulsy Medlem sedan aug. 2002 121 inlägg Jag vet inte om detta är komplicerat men jag vore tacksam för någon vägledning.
G GunnarD Medlem sedan juni 2001 4 290 inlägg 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.
Peeer Medlem sedan mars 2002 5 907 inlägg 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
U ulsy Medlem sedan aug. 2002 121 inlägg Tack Peeer, det fungerar perfekt!
Men varför blir det inte radbryning utan att allt hamnar på samma rad?
Peeer Medlem sedan mars 2002 5 907 inlägg
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!
U ulsy Medlem sedan aug. 2002 121 inlägg 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>
@nders Medlem sedan juni 2000 32 967 inlägg Du har med response.write två gånger.
mvh,
U ulsy Medlem sedan aug. 2002 121 inlägg
@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?
@nders Medlem sedan juni 2000 32 967 inlägg 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,
U ulsy Medlem sedan aug. 2002 121 inlägg Så OTROLIGT BRA det blev!!!
TACK!!!