webForumDet fria alternativet

Radbrytningshjälp

ASPur ASP

10 svar · 368 visningar · startad av Ricki

Medlem sedan juni 2000373 inlägg
Frågan#1

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

Medlem sedan dec. 19996 721 inlägg
#2

visa meddelandet med server.htmlencode(meddelande)

------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB

Medlem sedan juni 2000373 inlägg
#3

Jag har skrivit följande, men får ändå inga radbrytningar!

Server.HTMLEncode(databas("Meddelandet"))

------------------
Mvh Ricki
www.ricki.nu

Medlem sedan mars 2000263 inlägg
#4

<%=Replace(rs("meddelande"), vbCrLf, "<br>")%>

------------------
/bohlin

[Redigerat av bohlin den 10 jul 2000]

Medlem sedan maj 2000269 inlägg
#5

PREEE!!, <PRE> </PRE>

Medlem sedan jan. 20001 372 inlägg
#6
<%
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

Medlem sedan maj 2000107 inlägg
#7

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"),"&nbsp;")
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,"&nbsp;",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]

Medlem sedan maj 200062 inlägg
#8

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?

Medlem sedan mars 2000263 inlägg
#9

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

Medlem sedan jan. 20001 372 inlägg
#10

jag använder det när jag skriver ut ifrån databasen

------------------
// David

Medlem sedan maj 200062 inlägg
#11

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.

133 ms totalt · 3 externa anrop · v20260731065814-full.9823c0c5
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)