Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Neue Zeile mit \n\n -Anfängerfrage





Frage

Hallo guten Morgen, ein Anfängerproblem: <?php $umg_bro = getenv(HTTP_USER_AGENT); echo ´der browser ist: ´ .$umg_bro ."\n\n" .´zu sehen´; ?> Kann mir jemand sagen, warum der String "zu sehen" nicht in der nächsten Zeile sondern in der gleichen ausgegeben wird? "\n" ist doch vorhanden.

Antwort 1 von DeluxeStyle

ja, weil html keine \n Zeilenumbrüche kennt.

du müsste es so schreiben
<?php 
$umg_bro = getenv(HTTP_USER_AGENT); 

echo ´der browser ist: ´ .$umg_bro ."<br>" .´zu sehen´; ?>


Antwort 2 von Supermax

In HTML werden Zeilenvorschübe (ebenso wie Tabulatorzeichen \t) wie Leerzeichen ("whitespace") behandelt.

Um einen HTML-Zeilenvorschub einzufügen, musst du das <br>-Tag verwenden; alternativ kannst du dem Browser auch mit

header("Content-Type: text/plain");


mitteilen, daß es die Ausgabe als reinen Text darstellen soll; dann werden auch Zeilenvorschübe als solche interpretiert.

Die header()-Funktion muss allerdings ganz am Anfang der Seite aufgerufen werden, noch bevor die erste Ausgabe erfolgt, sonst bekommst du eine Fehlermeldung!

Antwort 3 von Mel

Zitat:
ja, weil html keine \n Zeilenumbrüche kennt.

du müsste es so schreiben
<?php
$umg_bro = getenv(HTTP_USER_AGENT);

echo ´der browser ist: ´ .$umg_bro ."<br>" .´zu sehen´; ?>


es gibt doch den Befehl \n (line feed) für PHP.

anders herum gefragt:
wie muss ich das denn schreiben, damit der Interpreter " \n" als BEfehl für neue Zeile erkennt?
bis gleich

Mel

Antwort 4 von Supermax

PHP selbst wandelt das \n in einem String schon korrekt in einen Zeilenvorschub um. Der Webbrowser zeigt Zeilenvorschübe bei der HTML-Darstellung allerdings nicht an, sondern behandelt diese wie Leerzeichen; das hat an sich nichts mit PHP zu tun, sondern liegt im HTML-Standard begründet.

Antwort 5 von regi34

das PHP-Skript wird intepretiert und dabei heraus kommt eine HTML-Datei.
in dieser HTML-Datei stehen an Stelle der "\n" dan nZeilenumbrüche, das ist allerdings nur im Quellcode der HTML-Seite zu sehen.
Bei der Darstellung von HTML-Code werden lediglich <br>-tags als Zeilenumbruch interpretiert, \n ist nur der Zeilenumbruch im Quellcode

Antwort 6 von Mel

Irgendwie versteh ich nicht ganz.

anderes Beispiel , das wie gewohnt mit /n/n einwandfrei funktioniert.

$text ="Verschickt am  " . $Datum . " um " . $stunde . "h \n\n";
$text.="de: " . $_POST["vorname"] ."  "    .$_POST["name"] . "\n\n\n\n";
$text.="Inhalt der Email:\n\n";
$text.="$Weiteres" . "\n\n\n\n"; 


Mit diesem Code schickt er mir einwandfrei die EMail mit Zeilenumbrüchen.

Warum denn in dem von mir anfangs angegebenen nicht?

Sorry, wenn ich nerve

Mel

Antwort 7 von rabies

Das ist der Fall, solange Deine Mail Plaintext ist. Plaintext - reiner Text - also praktisch wie der Quelltext. Anders wäre es, wenn Du eine HTML-Mail verschickst. Dort müsstest Du auch "<br/>" bzw. "<br>" machen.

Zitat:
wie muss ich das denn schreiben, damit der Interpreter " \n" als BEfehl für neue Zeile erkennt?


So, wie´s in der ersten Antwort steht. Mit ´nem "<br>"

also so:

echo "der Browser ist: " .$umg_bro ."<br>\n zu sehen"; ?>


Zur Erklärung, warum ich jetzt beide Sachen verwendet habe:
Einmal möchte ich, dass mein Quelltext übersichtlich bleibt ;-) also mach ich ein \n rein. Andererseits möchte ich aber auch, dass ich bei der Ausgabe (in HTML) auch wirklich einen Zeilenumbruch habe. Also mach ich ein <br>

hth,
Sven.

Antwort 8 von Risatara2

Schau dir doch einfach mal den Quellcode deiner Seite (im IE unter Ansicht -> Quelltext ) an, dort siehst du die Zeilenumbrüche. Und wenn du willst, dass PHP \n in <br> umwandelt, kannst du es mit nl2br() erreichen. Aber das is etwas umständlich, wenn du den Text eh im Code bearbeitest, dann ist das <br> selbst zu schreiben auf jeden Fall ratsamer, weil nicht zuletzt das auch schneller geht.

Antwort 9 von Mel

Soooo,

ich hatte das Wort Zeilenumbruch mit Zeilenvorschub gleichgesetzt. Jetzt ist es mir absolut klar und verständlich.

War auch super hilfreich, daß ganze noch mal im Quelltext zu sehen.

Super vielen Dank für die Dumpfbackenhilfe

Gruss Mel

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: