\n werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rinus Loof

Rinus Loof

28/12/2006 13:49:00
Quote Anchor link
Dames en heren,

zie de volgende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
// deze file bevat alle in XUur gebruikte foutboodschappen
$gb0000 = "Gebruik de back-knop van uw browser. ";
$fb0001 = "Gebruikersnaam moet worden ingevuld.\n {$gb0000}";
$fb0002 = "Wachtwoord moet worden ingevuld. \n {$gb0000}";
$fb0003 = 'Kan geen link naar de server maken.';
$fb0004 = 'Kan de database niet openen.';
?>

Deze statements worden geinclude in het hoofdprogramma.
Het probleem is dat de linefeed in fb0001 en fb0002 niet werkt.
Een ander, maar gerelateerd probleem is, dat ik niet begrijp waarom niet.

Iemand een idee? Hulp wordt zeer op prijs gesteld.
 
PHP hulp

PHP hulp

23/12/2024 14:37:04
 
Thomas

Thomas

28/12/2006 13:54:00
Quote Anchor link
Moet deze niet in een enkele quote, zet zoals </ BR> ?
 
Martijn B

Martijn B

28/12/2006 13:55:00
Quote Anchor link
Volgens mij haal je nu twee dingen door elkaar.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
// Letterlijk ene enter
echo "regel1\nregel2";

// HTML enter
echo 'regel1<br>regel2';
?>
 
Niek s

niek s

28/12/2006 13:57:00
Quote Anchor link
Je kan 2 dingen doen:

1) vervang de \n door een <br />
2) zet <pre> </pre> tags om de meldingen heen.
3) zet er nl2br() overheen***
nummer 1 is het netst, maar 2 kan ook gewoon en werkt uitstekend!

***: Reactie op reactie hieronder...
Quote:
Rinus, en met nl2br() ?
Gewijzigd op 01/01/1970 01:00:00 door niek s
 
Rens nvt

Rens nvt

28/12/2006 15:10:00
Quote Anchor link
Rinus, en met nl2br() ?
 
Robert Deiman

Robert Deiman

28/12/2006 16:00:00
Quote Anchor link
Thomas schreef op 28.12.2006 13:54:
Moet deze niet in een enkele quote, zet zoals </ BR> ?


het is dan altijd nog <br /> (html schrijf je met kleine letters en de afsluiting komt aan de afsluitende >)
 
Jeroen van de Ven

Jeroen van de Ven

28/12/2006 16:44:00
Quote Anchor link
\n moet tussen dubbele "s, ik had hetzelfde vanmiddag ook maar dan anders. Als je \n tussen "" zet komt er in de output code wel een nieuwe regel, maar in de HTML dus niet. Om in de browser een nieuwe regel te krijgen moet je <br /> gebruiken.

(\n kan je dus alleen gebruiken om grotere lappen gegenereerde (HTML) code overzichtelijker te maken.)
 
Leroy Boerefijn

Leroy Boerefijn

28/12/2006 16:48:00
Quote Anchor link
Offtopic:
wat houd
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
{$gb0000}
in??


Jeroen heeft idd gelijk..
en je kunt dus idd nl2br(); gebruiken oid
 
Luke Banning

Luke Banning

28/12/2006 16:50:00
Quote Anchor link
@Leroy
Vooraf gedefiniëerde variabele?
In een string kun je een variabele tussen { en } zetten ;-)
 
Leroy Boerefijn

Leroy Boerefijn

28/12/2006 16:53:00
Quote Anchor link
is dit niet zinloos??
ik doe het altijd zonder {en} en dat werkt prima :)
 
Bo az

Bo az

28/12/2006 16:59:00
Quote Anchor link
@Leroy; probeer dit maar eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

$beer
= 'bier';

echo "Edgar dronk een $beertje.<br />"; // Hier gaat het fout, deze werkt niet.
echo "Edgar dronk een {$beer}tje.<br />"; // Deze werkt prima.
echo "Edgar drinkt veel $beer.<br />"; // Deze werkt ook gewoon.
?>


@TS:
Aan je avatar te zien werk je op een linux machine ;) maar stel dat je toch op een windows machine werkt, \n is slechts een deel, neem \r\n of de constante PHP_EOL deze past zich vanaf PHP5 aan, aan het systeem waar je op werkt.
 
Niek s

niek s

28/12/2006 17:01:00
Quote Anchor link
\n: Newline
\r: Carriage Return

Eigenlijk is dus \n\r de juiste notatie.. (wow,, microsoft doet ook eens iets goed!)

Stuk text uit "The C Programming Language Brian w.Kernighan & Dennis M.Ritchie":

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Page 38  TYPES,OPERATORS AND EXPRESSIONS       CHAPTER 2
[...]
The complete set of excape sequences is
\a    alert (bell) character
\b    backspace
\f    formfeed
\n    newline
\r    carriage return
\t    horizontal tab
\v    vertical tab
\\    backslash
\?    question mark
\'    single quote
\"    double quote
\ooo  octal number
\xhh  hexadecimal number
[...]


Verder op de pagina staat dan nog ergens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
The Character constant '/0' represents the character with value zero, the null character. '\0' is often written instead of 0 to emphasize the caracter nature of some expression, but the numeric value is just 0.


Jullie zullen niet aan alles iets hebben, het is tenslotte een C boek. Maar het grootste gedeelte is mischien toch nog wel handig ;-)
Gewijzigd op 01/01/1970 01:00:00 door niek s
 
Leroy Boerefijn

Leroy Boerefijn

28/12/2006 17:04:00
Quote Anchor link
@Boaz, tnx!! ik snap het nu :P
 
Bo az

Bo az

28/12/2006 17:07:00
Quote Anchor link
@niek, ik twijfelde al, maar gezien ik bijna altijd met de constante PHP_EOL werk maakt het niet veel uit ;)

Edit:
Sorry typo, niet boos worden:(
Gewijzigd op 01/01/1970 01:00:00 door Bo az
 
Niek s

niek s

28/12/2006 17:17:00
Quote Anchor link
Boaz schreef op 28.12.2006 17:07:
@niek, ik twijfelde al, maar gezien ik bijna altijd met de constante PHP_EOL werk maakt het niet veel uit ;)


Nee klopt, Ieder operating system doet het anders, maar PHP_EOL is inderdaad het makkelijkste.
Voor de mac is het dacht ik alleen \r? Ik weet wel dat het niet uit maakt welk operating system je hebt, in C blijft het altijd hetzelfde. Het ligt er maar net aan wat je operating system "verzint".

Als je op een Unix machine alleen een \n doet, dan krijg je dit effect:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
blablablabla
            blablabla


Dan heb je dus geen Carriage Return gedaan (\r) waardoor de " pointer " op de zelfde plaats blijft.
Gewijzigd op 01/01/1970 01:00:00 door niek s
 
Rinus Loof

Rinus Loof

28/12/2006 17:30:00
Quote Anchor link
Wow,
Ik ben onder de indruk van de snelheid en veelheid van reacties!

bedankt, kom er verder wel uit.
 
Luke Banning

Luke Banning

28/12/2006 17:33:00
Quote Anchor link
Hahaha geweldig :)
Ik lees het stukkie van Boaz en wat voor liedje krijg ik?
Bier en tieten, ja :p
Maar goed :)
Inderdaad zo werkt het ;-)
 
Niek s

niek s

28/12/2006 17:35:00
Quote Anchor link
Boaz schreef op 28.12.2006 16:59:
@Leroy; probeer dit maar eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

$beer
= 'bier';

echo "Edgar dronk een $beertje.<br />"; // Hier gaat het fout, deze werkt niet.
echo "Edgar dronk een {$beer}tje.<br />"; // Deze werkt prima.
echo "Edgar drinkt veel $beer.<br />"; // Deze werkt ook gewoon.
?>


@TS:
Aan je avatar te zien werk je op een linux machine ;) maar stel dat je toch op een windows machine werkt, \n is slechts een deel, neem \r\n of de constante PHP_EOL deze past zich vanaf PHP5 aan, aan het systeem waar je op werkt.


Ik zie deze nu pas..
Ik wil niet vervelend zijn, maar dat heb je toch helemaal niet nodig?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

$beer
= 'bier';

echo "Edgar dronk een ".$beer."tje.<br />"; // Deze werkt prima.
echo "Edgar drinkt veel ".$beer.".<br />"; // Deze werkt ook gewoon.
?>


Als je op de juiste manier PHP gebruikt, dan haal je de variabeles buiten de quotes, en hoeft dat gedoe met de accolades toch niet? Of heb ik het nu fout? ( ik begin nu zelf ook te twijfelen...)
 
Luke Banning

Luke Banning

28/12/2006 17:37:00
Quote Anchor link
Klopt, dat werkt ook.
Maar accolades zijn toch iets sneller?
Edit:

Boaz, inderdaad zal het allemaal weinig schelen ;-)
Gewijzigd op 01/01/1970 01:00:00 door Luke Banning
 
Bo az

Bo az

28/12/2006 17:37:00
Quote Anchor link
Variabelen buiten quotes vind ik persoonlijk ook beter, maar dit voorbeeld was om aan te geven waar het fout kan gaan als je dat niet doet en ook geen accolades gebruikt.

Maar als je de variabelen toch buiten quotes haalt, gebruik dan ook enkele quotes...

Volgens mij zijn accolades niet sneller, er is wel een verschil tussen dubbele en enkele quotes, maar dat is te verwaarlozen.
Gewijzigd op 01/01/1970 01:00:00 door Bo az
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.