visa meddelandet med server.htmlencode(meddelande)
------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
10 svar · 368 visningar · startad av Ricki
Tjena!
Jag har ett funktion på min hemsida som gör att medlemmar kan skicka meddelanden till varandra. Mitt problem är att om någon skriver in följande i formuläret:
Hej!
Jag vill ha ett mes
Mvh xxx
Så visas det som detta efter att ha lagrats i databasen.
Hej! Jag vill ha ett mes Mvh xxx
Hur ska man få den att fatta att jag vill ha radbrutningar, som här på WF?
------------------
Mvh Ricki
www.ricki.nu
visa meddelandet med server.htmlencode(meddelande)
------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
Jag har skrivit följande, men får ändå inga radbrytningar!
Server.HTMLEncode(databas("Meddelandet"))
------------------
Mvh Ricki
www.ricki.nu
<%=Replace(rs("meddelande"), vbCrLf, "<br>")%>
------------------
/bohlin
[Redigerat av bohlin den 10 jul 2000]
PREEE!!, <PRE> </PRE>
<%
Function Radbryt(rfix)
rfix = "<P>" & Replace(rfix, vbCrLf, "<br>") & "</P>"
Radbryt = rfix
End Function
%>
sen skriver du <%=radbryt(RS("meddelande"))%>
denna funktion är tagen från forumet på webmastern.
------------------
// David
Detta använder jag för att komma runt allt sådant. &kt; är en egen lösning. Eftersom det inte verkar finnas(?) något substitut för ' som kan ställa till med problem ifall man skriver in det och sedan lägger in de i en databas.
Men det får man av formatera sedan.
function formatera1(input,mellanslag,enter)
dim tmp,tmp1
if enter = true then
tmp = replace(input,chr("13"),"<BR>")
else
tmp = replace(input,chr("13"),"")
end if
if mellanslag = true then
tmp1 = replace(tmp,chr("32")," ")
tmp = tmp1
end if
tmp1 = replace(tmp,"'","&kt;")
formatera1 = tmp1
end function
Och ifall jag ska visa koden i en textarea igen för att uppdatera det.
function formatera2(input)
dim tmp,tmp1
tmp = replace(input,"<BR>",chr("13"))
tmp1 = replace(tmp," ",chr("32"))
tmp = replace(tmp1,"&kt;","'")
formatera2 = tmp
end function
Och där det ska visas i vanlig html
function formatera3(intput)
tmp = replace(input,"&kt;","'")
formatera3 = tmp
end function
Eftersom det säkert (nu när jag tänker efter) finn någon &kod för ' så går det väl att lösa enklare. Men detta funkar väl någorlunda. Får väl kanske ta och kolla upp det andra någon gång. :)
Just det! Det glömde jag. För att anropa formatera1 så kan man välja till ifall man vill ha mellanslag och enter i HTML ( och <br> ). Det är true / false värden som ska in där. Så det kan se ut såhär:
<%= formatera1(text,false,true) %>
------------------
/Magnus aka Zaphod
www.designmodule.com.bi
[Redigerat av Zaphod den 10 jul 2000]
Jag använder samma funktion som DavidB när jag gör inlägget i databasen. Då lagras ju p och br i databasen(?)
När inlägget sedan visas på sidan fungerar radbrytningarna utan problem. Men jag har också en sida där man kan redigera inläggen där jag hämtar infon från databasen och lägger i en textarea i ett formulär. Men då visas p och br som just p och br.??
Jag använder inte Server.HTMLEncode därför att jag vill att åäö ska lagras som åäö i databasen.
Förslag på lösningar? Ska man använda dessa funktioner/kommandon när man lagrar data i databasen eller när man hämtar data från databasen?
Eftersom det inte verkar finnas(?) något substitut för ' som kan ställa till med problem ifall man skriver in det och sedan lägger in de i en databas.
man kan ju replace'a ' med ''
variabel = "hejsan'hoppsan"
insert into tabell(fält) values('"& Replace(variabel, "'", "''") &"')
------------------
/bohlin
Nu funkar det bättre, det enda stället som jag använder funktionen radbryt på är på sidan som visar inlägget. Använder jag det när jag skriver ett inlägg lagras ju p och br i db och det blit ju inte bra. När jag hämtar inlägget från db och lägger det i ett formulär behöver jag inte heller använda radbryt, det fungerar i alla fall.