Avatar billede m-koldsgaard Nybegynder
08. marts 2002 - 19:53 Der er 20 kommentarer og
3 løsninger

HTML-kode gemt i database

Hej

Jeg har en hjemmeside som er sat op til at hente html-koden til teksten på sider. Det er så lavet med et administartionssystem så man kan rette html-koden til teksten på siden. Den bliver så hentet i et tekstfelt (ligesom det, du kan skrive et svar i), men jeg har nogle problemer:

Mellemrumstegnet   bliver til et mellemrum.
Når der er brugt enten ' eller " (kan ikke ´huske hvilken) laver den en fejl.

Nogle der hurtig lige har koder til at løse dette både når det skal gemmes i databasen og når det skal hentes.

Jeg tror det er noget med 'Replace'.
Avatar billede m-koldsgaard Nybegynder
08. marts 2002 - 20:24 #1
Hallo, er de rigtige eksperter offline?
Avatar billede m-koldsgaard Nybegynder
08. marts 2002 - 20:34 #2
Ingen svar?
Avatar billede orca Nybegynder
08. marts 2002 - 20:51 #3
ROFLMAO, rolig nu... Du kan ik begynde at skræppe op bare fordi ingen har svaret inden for 30 minutter... Prøv evt med Replace(din_tekst, "'", "''")

Mvh Mark
--
www.gameshots.dk
Avatar billede KingMedia Novice
08. marts 2002 - 20:53 #4
du skal lave en replace... 

hvis dit felt til at skrive i hedder Kode bliver det følgende..

<%
kode = rs("kode")

kode = replace(kode, "'", "''")
%>

(erstatter pling ( ' ) med dobbelt pling ( '' ) .. )

kode = replace(kode, """, """")
( erstatter " med "" ..  den vil altid melde fejl hvis du i ASP bruger enkelte " i en response.write eller lignende, når du skriver HTML .. men det klarer denne replace :o)

/Mads
Avatar billede m-koldsgaard Nybegynder
08. marts 2002 - 20:53 #5
Kan du ikke lige prøve at lave et par eks. med mellemrumstegnet og så med ' og " ? Husk det også skal kunne gemmes som de rigtige tegn.
Avatar billede KingMedia Novice
08. marts 2002 - 20:54 #6
altså ..  den kode der skal sættes ind er..

<%
kode = rs("kode")

kode = replace(kode, "'", "''")

kode = replace(kode, """, """")
%>

/Mads
Avatar billede KingMedia Novice
08. marts 2002 - 20:56 #7
og med hensyn til mellemrumstegnet &nbsp; ..

Du siger den laver det til et mellemrum ?
Det er jo oz netop det denne kode gør..  :o)

Den laver et mellemrum uden linieskift nbsp = NoBreakSPace ;o)

/Mads
Avatar billede m-koldsgaard Nybegynder
08. marts 2002 - 21:00 #8
Vil det sige at man kan lave en html som dette:
<font size=""2"" face=""Arial"">Hej</font>
Avatar billede KingMedia Novice
08. marts 2002 - 21:03 #9
m-koldsgaard >>> ...    Ja..  hvis du har noget ASP der skriver html ud.. 

du kan feks lave

response.write " <font size=""2"" face=""Arial"">Hej</font> "

så vil den udskrive det normalt.. 

hvis du derimod laver

response.write " <font size="2" face="Arial">Hej</font> "

vil den melde fejl, fordi den tror det første " er en syntax i ASP koden . :o)

/Mads
Avatar billede m-koldsgaard Nybegynder
08. marts 2002 - 21:03 #10
Inde i mit <textarea></textarea> bliver &nbsp; lavet om til mellemrum.
Avatar billede KingMedia Novice
08. marts 2002 - 21:05 #11
Ja..  &nbsp; vil altid blive lavet om til et mellemrum :o) .. 

Hvad ønsker du da at &nbsp; skal kunne ? :o)
Avatar billede m-koldsgaard Nybegynder
08. marts 2002 - 21:06 #12
Der skal bare stå &nbsp; i mit tekstfelt.
Avatar billede m-koldsgaard Nybegynder
08. marts 2002 - 21:07 #13
altså: &amp;nbsp;
Avatar billede KingMedia Novice
08. marts 2002 - 21:08 #14
ok ...  du ønsker at man skal kunne se mellemrummene ?
Så de bliver brugt i HTML'en ?
Avatar billede orca Nybegynder
08. marts 2002 - 21:10 #15
Bare erstat alle "&nbsp;" med "&amp;nbsp;".

Altså:

Replace(din_tekst, "&nbsp;", "&amp;nbsp;")

Mvh Mark
--
www.gameshots.dk
Avatar billede m-koldsgaard Nybegynder
08. marts 2002 - 21:10 #16
Ja, hvis jeg fx har denne kode html:
<p align="center">&nbsp;&nbsp; Hej</p>
så skal der stå det i mit tekstfelt.
Avatar billede KingMedia Novice
08. marts 2002 - 21:10 #17
Hmmm prøv det her så ..

kode = replace(kode, "&nbsp;", "&amp;nbsp;")
Avatar billede m-koldsgaard Nybegynder
08. marts 2002 - 21:12 #18
orca - hvad så når det skal gemmes, skal det så bare den anden vej eller hvad? Er Replace bare visuelt?
Avatar billede orca Nybegynder
08. marts 2002 - 21:15 #19
Når du gemmer det bør du ikke skulle gøre noget... Hvis ikke det virker så prøvt evt at bruge samme kode omvendt:

Replace(Request.Form("kode_felt"), "&amp;nbsp;", "nbsp;")

Mvh Mark
--
www.gameshots.dk
Avatar billede m-koldsgaard Nybegynder
08. marts 2002 - 21:17 #20
orca - der har du så en fejl:
Replace(Request.Form("kode_felt"), "&amp;nbsp;", "nbsp;")
skal være:
Replace(Request.Form("kode_felt"), "&amp;nbsp;", "&nbsp;")
Avatar billede m-koldsgaard Nybegynder
08. marts 2002 - 21:19 #21
Okay, jeg tror jeg har fået svar på det, men jeg prøver det først af i morgen, ses.
Avatar billede m-koldsgaard Nybegynder
15. marts 2002 - 20:44 #22
Hov, havde lige glemt mit spm her. Det virker. Jeg har tilpasset det så virke lidt bedre:


Der hvor koden gemmes i adminsystemet:

HTMLKode = Request.Form("HTML")

HTMLKode = Replace(HTMLKode, "'", "%22")

HTMLKode = Replace(HTMLKode, "&amp;nbsp;", "&nbsp;")


Der hvor koden hentes ind i adminsystemets <textarea>:
Kode = RS("HTML")

Kode = Replace(Kode, "%22", "'")

Kode = Replace(Kode, "&nbsp;", "&amp;nbsp;")

<textarea name="HTML"><% =Kode %></textarea>


Der hvor koden hentes på selve siden, er ikke sket noget:
<% =RS("HTML" %>
Avatar billede m-koldsgaard Nybegynder
15. marts 2002 - 20:46 #23
Jeg kunne jo også lige tage lidt af pointe selv, nu når jeg selv har gjort det lidt smart, med at kodens ' gemmes som %22 og igen laves om til ' når %22 hentes igen.
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