Avatar billede canedo Nybegynder
08. november 2002 - 14:19 Der er 31 kommentarer og
1 løsning

linjeskift fra textarea

Jeg er igang med at lave en gæstebog, men møder problemer, når jeg har intastet noget text uden at trykke ENTER, f.eks. teksten "Eneste ulempe af Eksperten - man bliver vænnet helt af med at søge oplysninger i manualer og HELP".

De automatiske linjeskift forsvinder, - jeg har en mistanke om, at det kan have noget med min HTMLEncode eller min   replace at gøre. Her er min replacefunktion:

besked = Request.Form("besked")
besked = Replace(besked, "<br>", vbCrLf)
besked = Server.HTMLEncode(besked)
besked = Replace(besked, "&nbsp;&nbsp;&nbsp;&nbsp;", Chr(9))
besked = Replace(besked, "&nbsp;", Chr(32))
besked = Replace(besked, "&#39;", "'")
besked = Replace(besked, "&aelig;", chr(230))
besked = Replace(besked, "&oslash;", chr(248))
besked = Replace(besked, "&aring;", chr(229))
besked = Replace(besked, "&AElig;", chr(198))
besked = Replace(besked, "&Oslash;", chr(216))
besked = Replace(besked, "&Aring;", chr(197))
besked = Replace(besked, "&uuml;", chr(252))
besked = Replace(besked, "&Uuml;", chr(220))
besked = Replace(besked, "&szlig;", chr(223))
besked = Replace(besked, "&commat;", chr(64))

Hvad bør gøres anderledes?
Avatar billede medions Nybegynder
08. november 2002 - 14:21 #1
Gør sådan her:

besked = Replace(besked, vbCrLf,"<br>")

//>Rune
Avatar billede canedo Nybegynder
08. november 2002 - 14:24 #2
rune > så bliver der smidt <br> tags ud over alt hvor der bliver tastet ENTER.
Avatar billede medions Nybegynder
08. november 2002 - 14:26 #3
besked = Replace(besked, "<br>",vbCrLf)

;o)

//>Rune
Avatar billede canedo Nybegynder
08. november 2002 - 14:30 #4
rune > det står der allerede
Avatar billede medions Nybegynder
08. november 2002 - 14:35 #5
Og laver den stadivæk ikke linjeskift?

//>Rune
Avatar billede canedo Nybegynder
08. november 2002 - 14:36 #6
har selv løst det
Avatar billede canedo Nybegynder
08. november 2002 - 14:37 #7
Ved insættelse i gæstebogen stod før:
besked2 = Replace(besked2, Chr(32), "&nbsp;")
De skulle have været:
besked2 = Replace(besked2, Chr(32), " ")
Avatar billede canedo Nybegynder
08. november 2002 - 14:38 #8
... bortset fra, at nu kan man ikke lave flere end 1 mellemrum ad gangen... hvordan løser jeg nu DET problem!!!!!?
Avatar billede canedo Nybegynder
08. november 2002 - 14:39 #9
rune > har du et bud?
Avatar billede canedo Nybegynder
08. november 2002 - 14:40 #10
kunne man lave en funktion der sagde, at hvis antallet af Chr(32) var 2 skulle man lave en &nbsp; ???
Avatar billede medions Nybegynder
08. november 2002 - 14:41 #11
Hmm tror du kan gøre sådan her:

If Not InStr(besked2,Chr(32) & Chr(32)) Then
  besked2 = Replace(besked2, Chr(32), "&nbsp;")
End If

//>Rune
Avatar billede canedo Nybegynder
08. november 2002 - 14:44 #12
Så er jeg tilbage til det gamle problem... der bliver ikke skiftet linje.
Avatar billede canedo Nybegynder
08. november 2002 - 14:50 #13
Der bliver sat en masse &nbsp; ind i tabellen og der bliver ikke skiftet linje.
Avatar billede canedo Nybegynder
08. november 2002 - 14:53 #14
Her er mine to replacefunktioner:

Lægger i db:
besked = Request.Form("besked")
besked = Server.HTMLEncode(besked)
besked = Replace(besked, "<br>", vbCrLf)
besked = Replace(besked, "&nbsp;", Chr(32))
besked = Replace(besked, "&nbsp;&nbsp;&nbsp;&nbsp;", Chr(9))
besked = Replace(besked, "&#39;", "'")
besked = Replace(besked, "&aelig;", chr(230))
besked = Replace(besked, "&oslash;", chr(248))
besked = Replace(besked, "&aring;", chr(229))
besked = Replace(besked, "&AElig;", chr(198))
besked = Replace(besked, "&Oslash;", chr(216))
besked = Replace(besked, "&Aring;", chr(197))
besked = Replace(besked, "&uuml;", chr(252))
besked = Replace(besked, "&Uuml;", chr(220))
besked = Replace(besked, "&szlig;", chr(223))
besked = Replace(besked, "&commat;", chr(64))


Henter ud i gæstebogen:

besked2 = rs2("besked")
besked2 = Replace(besked2, vbCrLf, "<br>")
besked2 = Replace(besked2, Chr(9), "&nbsp;&nbsp;&nbsp;&nbsp;")
besked2 = Replace(besked2, "'", "&#39;")
besked2 = Replace(besked2, Chr(32), "&nbsp;")
besked2 = Replace(besked2, chr(230), "&aelig;")
besked2 = Replace(besked2, chr(248), "&oslash;")
besked2 = Replace(besked2, chr(229), "&aring;")
besked2 = Replace(besked2, chr(198), "&AElig;")
besked2 = Replace(besked2, chr(216), "&Oslash;")
besked2 = Replace(besked2, chr(197), "&Aring;")
besked2 = Replace(besked2, chr(252), "&uuml;")
besked2 = Replace(besked2, chr(220), "&Uuml;")
besked2 = Replace(besked2, chr(223), "&szlig;")
Avatar billede medions Nybegynder
08. november 2002 - 15:00 #15
Ok..
Til din DB:

besked = Request.Form("besked")
besked = Server.HTMLEncode(besked)
besked = Replace(besked, "&nbsp;", Chr(32))
besked = Replace(besked, "&nbsp;&nbsp;&nbsp;&nbsp;", Chr(9))
besked = Replace(besked, "&#39;", "'")
besked = Replace(besked, "&aelig;", chr(230))
besked = Replace(besked, "&oslash;", chr(248))
besked = Replace(besked, "&aring;", chr(229))
besked = Replace(besked, "&AElig;", chr(198))
besked = Replace(besked, "&Oslash;", chr(216))
besked = Replace(besked, "&Aring;", chr(197))
besked = Replace(besked, "&uuml;", chr(252))
besked = Replace(besked, "&Uuml;", chr(220))
besked = Replace(besked, "&szlig;", chr(223))
besked = Replace(besked, "&commat;", chr(64))

gæstebogen:

besked2 = rs2("besked")
besked2 = Replace(besked2, vbCrLf, "<br>")
besked2 = Replace(besked2, Chr(9), "&nbsp;&nbsp;&nbsp;&nbsp;")
besked2 = Replace(besked2, "'", "&#39;")
besked2 = Replace(besked2, Chr(32), "&nbsp;")
besked2 = Replace(besked2, chr(230), "&aelig;")
besked2 = Replace(besked2, chr(248), "&oslash;")
besked2 = Replace(besked2, chr(229), "&aring;")
besked2 = Replace(besked2, chr(198), "&AElig;")
besked2 = Replace(besked2, chr(216), "&Oslash;")
besked2 = Replace(besked2, chr(197), "&Aring;")
besked2 = Replace(besked2, chr(252), "&uuml;")
besked2 = Replace(besked2, chr(220), "&Uuml;")
besked2 = Replace(besked2, chr(223), "&szlig;")

//>Rune
Avatar billede canedo Nybegynder
08. november 2002 - 15:03 #16
hmm... der kommer stadig intet linjeskift med mindre man selv trykker ENTER i textfeltet.
Avatar billede medions Nybegynder
08. november 2002 - 15:06 #17
Hmm prøv lige at vis mig et udtræk fra gæstebogen!

//>Rune
Avatar billede canedo Nybegynder
08. november 2002 - 15:08 #18
HTML kilden?
Avatar billede medions Nybegynder
08. november 2002 - 15:09 #19
Nej... Response.Write(besked2) hvad får du så?

//>Rune
Avatar billede canedo Nybegynder
08. november 2002 - 15:13 #20
hvis jeg skriver dette:
hej hej
hej  hej  hje kjn lk jjnkl  j kn l jk n l jknljkn  jlk nljk njl jk nlkj
spytter den dette ud:
hej hej
hej  hej  hje kjn lk jjnkl  j kn l jk n l jknljkn  jlk nljk njl jk nlkj
Avatar billede medions Nybegynder
08. november 2002 - 15:14 #21
Og hvad hvis du fjerner
If Not InStr(besked2,Chr(32) & Chr(32)) Then

?

//>Rune
Avatar billede canedo Nybegynder
08. november 2002 - 15:17 #22
den har jeg fjernet, for den virkede ikke. Lige nu har jeg kun denne:
besked2 = Replace(besked2, vbCr, "<br>") som viser i gæstebogen.
Avatar billede eagleeye Praktikant
08. november 2002 - 15:22 #23
Grund til &nbsp; ikke giver return er fordi det netop et et

nbsp = Non-Breaking SPace (lowercase &nbsp; used in SGML/HTML systems to specify a space but inhibit a linebreak at that point)


Ligeledes siger HTML standarten at X antal mellemrum " " kun må vises som et " ".

Så du man lave en function som lavet de om til skifte vis " " og så &nbsp; så tror jeg det virker.
Avatar billede canedo Nybegynder
08. november 2002 - 15:27 #24
man må da kunne lave en formel som f.eks.:
If antallet af " " > 2 Then
replace(besked2, Chr(32), " nbsp;"
End If

hmm.... er bare ikke nørd nok til lige at grejle den.
Avatar billede canedo Nybegynder
08. november 2002 - 15:28 #25
Men ellers må jeg droppe det med mellemrum :-(
Ikke noget at gøre.
Avatar billede eagleeye Praktikant
08. november 2002 - 15:30 #26
Prøv med dette det laver "  " om til " " og &nbsp;


do while inStr(1,besked2,"  ") > 0
  besked2 = Replace(besked2, "  ", " &nbsp;")
loop
Avatar billede canedo Nybegynder
08. november 2002 - 15:35 #27
Hvor skal jeg sætte det?
Avatar billede canedo Nybegynder
08. november 2002 - 15:37 #28
hvad betyder 1-tallet?
Avatar billede eagleeye Praktikant
08. november 2002 - 15:38 #29
Du kan ligge det efter dine replaces men som minimum efter denne linie:


besked = Replace(besked, "&nbsp;", Chr(32))
Avatar billede eagleeye Praktikant
08. november 2002 - 15:39 #30
det er hvor den starter med at søge fa karakter nummer 1, den kan vist udelades.
Avatar billede canedo Nybegynder
08. november 2002 - 15:43 #31
YES!!!! langt om længe! det virker perfekt!
Avatar billede eagleeye Praktikant
08. november 2002 - 15:45 #32
;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester