\n sowie \r\n funktionieren nicht
Marc M.
- php
1 Cheatah0 Marc M.0 Patrick Andrieu0 Marc M.0 EKKi0 Marc M.
0 Patrick Andrieu0 noscript
0 noscript
0 Tom
<?php
echo "Hallo\r\n";
echo "World";
?><br><br><?
echo "Hallo\n";
echo "World";
?><br><br><?
echo "Hallo";?><br><?
echo "World";
?>
kommt folgendes raus :
Hallo World
Hallo World
Hallo
World
wieso funktioniert weder \n noch \r\n ??
Hi,
wieso funktioniert weder \n noch \r\n ??
es funktioniert doch perfekt. Im HTML-Kontext werden diese Whitespaces korrekt zu einem Leerzeichen zusammengefasst, ganz so, wie es in HTML definiert wurde.
Cheatah
Es soll aber doch ein Zeilenumbruch dabei rauskommen.
Bei
echo "Hallo\n";
echo "World";
sollte
Hallo
World
und nicht
Hallo World
rauskommen.
Hallo Marc!
Hallo
World
Wie sieht es im (generierten) Quelltext aus?
Viele Grüße aus Frankfurt/Main,
Patrick
Quelltext :
<?php
echo "Hallo\r\n";
echo " World";
?><br><br><?
echo "Hallo\n";
echo " World";
?><br><br><?
echo "Hallo";?><br><?
echo "World";
?>
Ausgabe:
Hallo World
Hallo World
Hallo
World
Mahlzeit,
Ausgabe:
Ganz sicher nicht. Lies Dir Patricks Frage nochmal durch.
MfG,
EKKi
Danke
manchmal sitzt man doch auf dem Schlauch :-(
Marc M.
Hallo Marc!
Quelltext :
<?php
echo "Hallo\r\n";
echo " World";
?><br><br><?
echo "Hallo\n";
echo " World";
?><br><br><?
echo "Hallo";?><br><?
echo "World";
?>
Das ist nicht Dein Quelltext, das ist Dein PHP-Code.
Ruf die Seite im Browser auf, und klick auf »Quelltext Anzeigen« (oder ähnlich). DAS ist dann der Quelltext. Und da steht sicher:
Hallo
World
Cheatah und noscript haben Dir schon gesagt, warum.
Viele Grüße aus Frankfurt/Main,
Patrick
Relevant für die Ausgabe ist, was am Browser ankommt. PHP kommt dort aber nicht an! Also schau bitte in die Quelltextansicht deines Browsers, der PHP-Script-Quelltext ist hier irrelevant.
Es soll aber doch ein Zeilenumbruch dabei rauskommen.
Bei
echo "Hallo\n";
echo "World";
...
Zeilenumbrüche im HTML-Quelltext werden nun mal aber als Leerzeichen interpretiert, egal ob du die von Hand einfügst oder per PHP reinschreiben lässt. Wenn du im HTML einen Umbruch möchtest nimm <br>.
Hello,
wenn Du möchstest, das Vorvormatierter Text auch als solcher angezeigt wird, dann musst Du dem Browser das auch sagen. Es gibt dafür das <pre>-Element.
http://de.selfhtml.org/html/text/praeformatiert.htm
Ein harzliches Glückauf
Tom vom Berg
@@Tom:
wenn Du möchstest, das Vorvormatierter Text auch als solcher angezeigt wird, dann musst Du dem Browser das auch sagen. Es gibt dafür das <pre>-Element.
Was physische Auszeichnung ist, keine strukturelle, und deshalb nicht state of the art.
Es gibt die CSS-Eigenschaft 'white-space'.
Und es gibt das 'br'-Element. (Ebenfalls nach seiner Bedeutung in der Darstellung benannt, ebensoso wie 'hr'; beide erfüllen aber die Funktion einens Separators.)
Live long and prosper,
Gunnar
Hi,
wenn Du möchstest, das Vorvormatierter Text auch als solcher angezeigt wird, dann musst Du dem Browser das auch sagen. Es gibt dafür das <pre>-Element.
Was physische Auszeichnung ist, keine strukturelle, und deshalb nicht state of the art.
Es gibt die CSS-Eigenschaft 'white-space'.
Und wie viel von der *gewuenschten* Struktur, mit der ich diese Art von Inhalt womoeglich explizit darstellen lassen moechte, bleibt ohne CSS uebrig?
Haettest du stattdessen auf HTML-Elemente für logische Auszeichnung im Text, also bspw. code, verwiesen - das haett'sch hier fuer sinnvoller erachtet.
MfG ChrisB