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?
Inte ta kod som kod?
11 svar · 332 visningar · startad av ulsy
Jag vet inte om detta är komplicerat men jag vore tacksam för någon vägledning.
:OO
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.
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
Tack Peeer, det fungerar perfekt!
Men varför blir det inte radbryning utan att allt hamnar på samma rad?
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!
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 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?
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,
där ser man :)