---
title: "Problem med Newlines"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/138985-problem-med-newlines"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "echoSwe"
published: "2005-12-08T03:33:13.000Z"
updated: "2005-12-12T22:05:38.000Z"
replies: 13
views: 713
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/dotnet/138985-problem-med-newlines"
---

# Problem med Newlines

## #1 — echoSwe, 2005-12-08T03:33Z

Tja

Har lite problem att byta ut "\\n" mot "\<br /\>" och "\\n\\n" mot "\</p\>\<p\>". Min kod ser ut såhär.

```
private string htmlalize(string str)
{
	str = "<p>"+str+"</p>";
	str.Replace("\n\n", "</p><p>");
	str.Replace("\n", "<br />");
	return str;
}
```

Någon som kan hjälpa mig lite nu? Tycker ni att jag ska göra detta **innan** det går in i databasen eller efter, när man ska visa det i läsaren?

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

## #2 — aleborg, 2005-12-08T07:45Z

Det beror på om det ska användas i mail eller i något annat sammanhang där \\n behövs. Behöver du någon gång använda \\n så gör det efter annars innan.

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

## #3 — emission, 2005-12-08T09:30Z

Den praxis som förespråkas mest (även här på wF) är att man alltid gör ersättningarna när man ska visa informationen. Det är en bra praxis, eftersom den ersättning du visar är väldigt enkel, men om man vill gå åt andra hållet eller kanske formatera något lite annorlunda, så blir det väldigt jobbigt om texten redan är i HTML-format.

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

## #4 — echoSwe, 2005-12-08T23:11Z

Jag vill byta ut alla radbrytningar i en databas till \<br /\> taggar när dokumentet laddas.
Men koden jag postade vill inte fungera.
Kan någon hjälpa mig med det?

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

## #5 — Dino, 2005-12-08T23:20Z

```
private string htmlalize(string str)
{
	str = "<p>"+str+"</p>";
	str = str.Replace("\n\n", "</p><p>");
	str = str.Replace("\n", "<br />");
	return str;
}
```

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

## #6 — echoSwe, 2005-12-09T11:30Z

Emission svarade på en del och dino på en del. 
Tack för svaren

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

## #7 — Vimp, 2005-12-09T21:18Z

Ett tips: Kör med Environment.NewLine Istället för \\n.

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

## #8 — echoSwe, 2005-12-09T22:41Z

Varför det?

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

## #9 — Vimp, 2005-12-09T22:44Z

\\n är specifikt för C#, vbCrLf är för VB.NET, men i .NET så är det iaf Environment.NewLine som är det "riktiga" även om man \_kan\_ använda andra sätt.

Environment innehåller förresten en del skoj, ta en titt på det. :)

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

## #10 — echoSwe, 2005-12-09T23:53Z

Ja, det finns lite där ja... Men båda javascript, flash/AS, och c++ som jag tidigare har eller jobbar i använder \\n, inkl. reguljära uttryck, om jag inte har helt fel ;). Sedan använder jag bara C#, eftersom jag blev ruskigt trött på VB efter ASP3.0. 
Annars har du väl rätt.

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

## #11 — echoSwe, 2005-12-09T23:55Z

Nu undrar jag även hur man gör för att använda en funktion som man kan har i en egen .cs fil...

Säg att jag har en fil med namespace Henrik, där jag har lagt in en funktion, htmlalize här... Den vill jag kunna använda från andra sidor och user-controls. Hur gör jag för att kunna detta?

Så i min code-behind:
using Henrik;

namespace hafse
{
public class blog : System.Web.UI.Page
{
private void BindPost(string id){
...
binder.text= htmlalize ( (string)objDS. ... .Rows\[0\]\["text"\] );
}
}
}

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

## #12 — emission, 2005-12-10T00:07Z

> **Vimp skrev:**
>
> Ett tips: Kör med Environment.NewLine Istället för \\n.

Kanske. Det är ju faktiskt inte samma sak. Vill man specifikt ersätta "\\n" så är det "\\n" man ska använda. Environment.NewLine är, som namnet antyder, något som är knutet till vilken miljö programmet körs i. Under Windows returnerar NewLine "\\r\\n" (Carriage return och Line feed = CrLf), men om man kör med Mono i t.ex. Linux eller MacOS X så är NewLine endast "\\n" (och om någon skulle lyckas porta .NET till MacOS 9, så skulle det vara endast "\\r")

I praktiken fungerar det säkert mycket bra (bättre) att använda NewLine i detta fall, men det är viktigt att veta skillnaden 

vbCrLf != "\\n" != Environment.NewLine och endast i Windows är vbCrLf==Environment.NewLine

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

## #13 — echoSwe, 2005-12-10T00:12Z

Så vad ska jag använda för att processera input från formulär på webben?

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

## #14 — emission, 2005-12-12T22:05Z

Glömde bort dig... :)

Om du ersätter bara "\\n" så är du på den säkra sidan, men i praktiken kommer det nog nästan alltid att fungera bra med NewLine.

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/138985-problem-med-newlines
