/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
\r, \n og <br>
Fra : Martin Ploug


Dato : 27-07-08 10:02

Hej

Hvad er forskellen på \r, \n og <br> i PHP
- altså hvad gør de konkret ?

\n og <br> laver linjeskift, men er det lige
meget, om man bruger det ene eller det andet?
Er det bare fordi det ene er PHP og det andet
er HTML?

Hvad gør \r - carriage return?

Er der noget med, at man skal skrive \r\n til
sidst, når man har noget med en $header....
- altså noget, der skal stå i brevhovedet,
når man udsender mail vha. PHP?

Hvis ja, hvorfor?

På forhånd tak.

Mvh. Martin


 
 
Birger (27-07-2008)
Kommentar
Fra : Birger


Dato : 27-07-08 11:15

"Martin Ploug" <mploug@pc.dk> skrev i en meddelelse
news:488c3988$0$15886$edfadb0f@dtext01.news.tele.dk...
> Hej
>
> Hvad er forskellen på \r, \n og <br> i PHP
> - altså hvad gør de konkret ?
>
> \n og <br> laver linjeskift, men er det lige
> meget, om man bruger det ene eller det andet?
> Er det bare fordi det ene er PHP og det andet
> er HTML?
>
> Hvad gør \r - carriage return?
>
> Er der noget med, at man skal skrive \r\n til
> sidst, når man har noget med en $header....
> - altså noget, der skal stå i brevhovedet,
> når man udsender mail vha. PHP?
>
> Hvis ja, hvorfor?
>
> På forhånd tak.



\r = Line Feed ( ned på næste linie)
\n = Carriage Return ( til første position på linien)
det gælder i mange sprog (bl.a. PHP og javascript), og der er flere andre af
slagsen. Se feks.
http://dk.php.net/manual/en/language.types.string.php

I "virkeligheden", bør en nyline bestå af \r\n eller \n\r.
Tænk på en god gammeldags skrivemaskine.
\r drejer valsen (flytter papiret), så der skrives på den næste linie, mens
\n flytter valsen til højre, så der skrives yderst til venstre på papiret.
I vore dage opfattes både \r og \n hver for sig, ofte som at det er begge,
og det er meget afhængigt af den application der anvendes.

I PHP bruges \r og \n ( og \t - tabulator) til at formattere output.
Hvis output er HTML (en browser), ignoreres \r,\n og \t som er whitespace -
brug dem til at stille HTML koden fornuftigt og læsbart op - de har kun
indflydelse, når den besøgende bruger vis kilde (eller hvad det nu må hedde
i den aktuelle browser).

<br> er ny linie i HTML. Den virker principielt som en \r\n karakter.
Den optræder kun i HTML kode.

\n vises ikke som ny linie i HTML som du skriver.
\n laver linieskift i koden, mens <br> laver lineskift i teksten der vises
af browseren.

$header lyder som en variabel i PHP, og ikke noget generelt - lyder som du
har kopieret neget et eller andet sted fra.
Se evt.
http://dk.php.net/manual/en/function.mail.php

Hvad du skal gøre og hvordan, kommer også an på i hvilket format du har
tænkt dig at sende email.
headere er altid tekst, hver information må kun bestå af een linie - og skal
afsluttes med \r\n - hvilket igen kan være afhængigt af hvordan du angiver
dem.
I body af emailen skal du bruge \r\n hvis du sender som text og <br> hvis du
sender som HTML.

Håber det hjælper lidt ;>)


Birger
-----
http://bbsorensen.dk
http://varmeretter.dk - hverdagsmad. Sundt, nemt, hurtigt og billigt. Daglig
opdatering.



Martin Ploug (27-07-2008)
Kommentar
Fra : Martin Ploug


Dato : 27-07-08 11:25



>
>
> \r = Line Feed ( ned på næste linie)
> \n = Carriage Return ( til første position på linien)
> det gælder i mange sprog (bl.a. PHP og javascript), og der er flere andre
> af slagsen. Se feks.
> http://dk.php.net/manual/en/language.types.string.php
>
> I "virkeligheden", bør en nyline bestå af \r\n eller \n\r.
> Tænk på en god gammeldags skrivemaskine.
> \r drejer valsen (flytter papiret), så der skrives på den næste linie,
> mens \n flytter valsen til højre, så der skrives yderst til venstre på
> papiret.
> I vore dage opfattes både \r og \n hver for sig, ofte som at det er begge,
> og det er meget afhængigt af den application der anvendes.
>
> I PHP bruges \r og \n ( og \t - tabulator) til at formattere output.
> Hvis output er HTML (en browser), ignoreres \r,\n og \t som er
> whitespace - brug dem til at stille HTML koden fornuftigt og læsbart op -
> de har kun indflydelse, når den besøgende bruger vis kilde (eller hvad det
> nu må hedde i den aktuelle browser).
>
> <br> er ny linie i HTML. Den virker principielt som en \r\n karakter.
> Den optræder kun i HTML kode.
>
> \n vises ikke som ny linie i HTML som du skriver.
> \n laver linieskift i koden, mens <br> laver lineskift i teksten der vises
> af browseren.
>
> $header lyder som en variabel i PHP, og ikke noget generelt - lyder som du
> har kopieret neget et eller andet sted fra.
> Se evt.
> http://dk.php.net/manual/en/function.mail.php
>
> Hvad du skal gøre og hvordan, kommer også an på i hvilket format du har
> tænkt dig at sende email.
> headere er altid tekst, hver information må kun bestå af een linie - og
> skal afsluttes med \r\n - hvilket igen kan være afhængigt af hvordan du
> angiver dem.
> I body af emailen skal du bruge \r\n hvis du sender som text og <br> hvis
> du sender som HTML.
>
> Håber det hjælper lidt ;>)
>

Hej Birger

Mange tak for de grundige forklaringer.
Jo, jeg tror jeg er blevet en del klogere

Mvh. Martin


Bertel Lund Hansen (30-07-2008)
Kommentar
Fra : Bertel Lund Hansen


Dato : 30-07-08 20:10

Martin Ploug skrev:

> Er der noget med, at man skal skrive \r\n til
> sidst, når man har noget med en $header....
> - altså noget, der skal stå i brevhovedet,
> når man udsender mail vha. PHP?

Ja, standarden sif´ger at headersektionen først ophører første
gang der optræder en tom linje i mailen. Det kan altså kodes
sådan:

echo "Header\r\n";
echo "Header\r\n";
echo "Header\r\n";
echo "Header\r\n";
echo "Header\r\n\r\n";

og så brødteksten. Der er andre måder at gøre det på. Hvis man
nemlig starter en echo, kan man skrive som om det er ren tekst:

echo "Header
Header
Header
Header
Header

BrødtekstBrødtekstBrødtekstBrødtekst
BrødtekstBrødtekstBrødtekstBrødtekst
";

Så skal man huske at afslutte echo-kommandoen.

--
Bertel
http://bertel.lundhansen.dk/      FIDUSO: http://fiduso.dk/

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste