---
title: "Specifikt problem med html i variabel"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/98349-specifikt-problem-med-html-i-variabel"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "tosses"
published: "2004-02-28T10:07:11.000Z"
updated: "2004-02-29T18:15:35.000Z"
replies: 10
views: 347
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/98349-specifikt-problem-med-html-i-variabel"
---

# Specifikt problem med html i variabel

## #1 — tosses, 2004-02-28T10:07Z

Jag använder mig av en webbaserad htmleditor för att kunna skriva htmlformaterad epost och skicka iväg. Själva funktionen för att maila körs i JSP, javamail API.

Mitt problem är att visa data från databas tillbaka till htmleditorn. Det fungerar bra att lagra html i en formulärkontroll och sedan lagra i en databas, men tvärtom funkar det inte så bra, bara om man inte radbryter eller använder för många \<\>.

hmm hjälp!

Här finns en länk till exempel på editorn
<http://ftg.mine.nu/proto210/>

Hoppas nån kan hjälpa mig

Permalänk: https://www.webforum.nu/p/98349

## #2 — Jojoxx, 2004-02-28T10:46Z

Det låter som du inte kodar html-datat innan du visar det i webbläsaren. Skall du lägga "\</textarea\>" i en textarea måste webbläsaren få \<textarea\>&amp;lt;/textarea&amp;gt;\</textarea\>.

Permalänk: https://www.webforum.nu/p/1287188

## #3 — tosses, 2004-02-28T14:49Z

Ok men att kopiera över datat från editorn vid onclick till en input type hidden går utmärkt. Allt lagras senare i DB'n med taggar och allt.

Det är senare när jag vill titta på datat i editorn igen som det skiter sig. Då funkar det så länge jag inte radbryter eller använder vissa taggar.

Editorn använder sig av Iframe
jag skriver:
IView.document.body.innerHTML = variabel_med_data_från_db

Hoppas ni förstår

Permalänk: https://www.webforum.nu/p/1287270

## #4 — Jojoxx, 2004-02-28T15:57Z

Japp, med största sannolikhet är det just det problemet som jag nyss nämnde. Titta på detta exempel;

```
<script type="text/javascript">
IView.document.body.innerHTML = "<script type="text/javascript">enfunction(){ alert("Hello World");}</script>... lite mer html";
</script>
```

Exemplet skulle alltså kunna vara data som kommer från din databas om du laddar det direkt utan att koda det. Detta kommer givetvis inte att fungera. Dels innehåller *variabel_med_data_från_db* " som är samma som sträng-termineringen. Dessa måste bytas ut mot **\\"** innan de skickas till webbläsaren. Eftersom strängen även innehåller \</script\> kommer webbläsaren att tro att här slutar script-blocket (mitt i en oavslutad sträng). Alltså måste \< och \> ersättas med &amp;lt; och &amp;gt; Finns det sedan radbrytningar i strängen måste dessa ersättas med **\\n** och finns det "\\" måste de allra först ersättas med "\\\\". Allt detta måste alltså göras på serversidan efter det att du hämtat datat från databasen och innan du skickar det till webbläsaren.

Permalänk: https://www.webforum.nu/p/1287282

## #5 — tosses, 2004-02-28T16:02Z

hmmmmmm sannorlikt ja! Jag tror du har rätt!

Ska kolla på det!!

Tack!

Permalänk: https://www.webforum.nu/p/1287285

## #6 — tosses, 2004-02-28T16:47Z

Jag tror att jag har kommit på det.
Så fort jag har en radbrytning i databasen så funkar det inte. Men lägger jag all HTMLkod på samma rad i db så funkar det!

alltså inte "\<p\>" utan radbryt.

undrar hur man tar bort radbryt i javascript

Permalänk: https://www.webforum.nu/p/1287295

## #7 — Jojoxx, 2004-02-28T17:27Z

> **Jojoxx skrev:**
>
> Finns det sedan radbrytningar i strängen måste dessa ersättas med \\n ... innan du skickar det till webbläsaren.

Permalänk: https://www.webforum.nu/p/1287311

## #8 — tosses, 2004-02-28T19:38Z

hmm ursäkta men om radbrytningar måste ersättas med \\n så måste ju radbrytningar skrivas ............. ja just det hmmm hur då ?

alltså ersätt '...radbrytningarna...' med '\\n'

...radbrytningarna... skrivs ???????? hur ?????

Permalänk: https://www.webforum.nu/p/1287366

## #9 — Jojoxx, 2004-02-29T09:35Z

"\\n" representerar en radbrytning i koden. Skall du ha en radbrytning på sidan som visas använder du html-taggen "\<br\>". En radbrytning i html är en s.k. white-space liksom mellanslag och kan därför ersättas med en annan white-space (ex. mellanslag). Enda anledningen till att du använder radbrytningar i "html-kod" är för att det skall bli enklare att läsa koden. Sidan ser likadan ut oavsett.

Således, skall du lägga in följande html-kod i en javascript-variabel;

```
<p>
Hello
"world"
<br/>
I can do this
</p>
```

Blir det:

```
variabel="&amp;lt;p&amp;gt;\nHello\n\"world\"\n&amp;lt;br/&amp;gt;\nI can do this\n&amp;lt;/p&amp;gt;";
```

Permalänk: https://www.webforum.nu/p/1287476

## #10 — tosses, 2004-02-29T13:25Z

Jag löste det på detta sätt:

brevtext = brevtext.replaceAll("\\n","").replaceAll("\\r","").replaceAll("\\"","\\\\\\\\\\"").replaceAll("\\'","&#39;");

Tack så mycket för all hjälp!!
Hade aldrig klarat det utan det.

Permalänk: https://www.webforum.nu/p/1287546

## #11 — Jojoxx, 2004-02-29T18:15Z

Då klickar vi på [Acceptera som slutgiltigt svar](http://www.webforum.nu/showthread.php?s=&forumid=24&postid=807130&accept=no) :)

Permalänk: https://www.webforum.nu/p/1287643

---

Tråden på webben: https://www.webforum.nu/amne/javascript/98349-specifikt-problem-med-html-i-variabel
