• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Neue Zeile / Zeilenumbruch im echo Befehl php

herrderbaer

Neues Mitglied
Hallo,

ich habe diesen Quelltext als Antwort auf ein html formular:

<html>
<body>
<?php
echo "Vielen Dank für Ihre Registrierung, ".$_POST["vor"]." ".$_POST["nach"];
?>
<p> Ihre Adresse lautet: </p>
<?php
echo $_POST["strasse"];
echo $_POST["plz"];
echo $_POST["ort"]
?>

</body>
</html>

Es wird ca so angezeigt:

Vielen Dank für Ihre Registrierung, Peter Müller

Ihre Adresse lautet:
Landstraße37673Wursthausen

Die Adresse soll aber mit Zeilenumbrüchen und einer Zeichenkette angegeben werden:
Landstraße
37673 Wursthausen


Wie kann ich Zeilenbrüche in den PHP Teil einbauen? Welche Kommandos muss ich wie einbauen?

Vielen Dank
für eure Hilfe!!!
 
Werbung:
Wie kann ich Zeilenbrüche in den PHP Teil einbauen? Welche Kommandos muss ich wie einbauen?
PHP stellt dafür nl2br bereit.
PHP:
echo nl2br($_POST["strasse"] . "\n"); // Zeilenumbruch erzeugen -> fügt <br /> im HTML-Code ein
echo ($_POST["plz"] . " "); // Leerzeichen nach Postleitzahl einfügen
echo $_POST["ort"]);
Leerzeichen optional mit erzwungenem HTML-Leerzeichen:
PHP:
echo ($_POST["plz"] . "&nbsp;");
 
Werbung:
Wieso so kompliziert? Du kannst einfach direkt <br/> und Leereichen benutzen
Kompliziert?

Die Frage wurde im PHP-Forum gestellt. Und dafür habe ich entsprechend die bereitgestellte Funktion genannt, sowie die zweite Frage nach der Umsetzung im vorliegenden Code beantwortet.

Selbstverständlich gibt's dafür auch gängige Alternativen mit <br />.
 
Ich bin auch der Meinung, dass nl2br hier nicht angebracht ist, die Funktion ist meines Erachtens gedacht, bei durch \n getrennte Zeilen, wie sie aus Textdateien oder <textarea> kommen, im HTML wieder getrennte Zeilen zu machen. Aber darauf will ich nicht weiter eingehen, darum geht es mir hier nicht.

Sieht man sich das HTML aus der Frage an, dann fällt zusätzlich auf:
  1. <!DOCTYPE> fehlt
  2. <head> Bereich fehlt, da insbesondere <meta charset=...> und <title>
  3. Semantische Beschreibung des Inhalts durch <address> fehlt.
  4. Keinerlei Formatierung durch CSS
PHP dient ja eigentlich dem dynamischen Erstellen von HTML Seiten und setzt vom PHP Entwickler somit voraus, dass er sich zumindest die Grundlagen von HTML erarbeitet hat. Hier scheint jemand den falschen Weg zu gehen und mit PHP zu beginnen, ohne bereits die notwendige Festigkeit im Grundwissen über HTML zu haben. Das ist auch sicher mit ein Grund, warum die Frage hier im falschen Forum gelandet ist.
 
Werbung:
Sieht man sich das HTML aus der Frage an, dann fällt zusätzlich auf:
  1. <!DOCTYPE> fehlt
  2. <head> Bereich fehlt, da insbesondere <meta charset=...> und <title>
  3. Semantische Beschreibung des Inhalts durch <address> fehlt.
  4. Keinerlei Formatierung durch CSS
[...] Hier scheint jemand den falschen Weg zu gehen und mit PHP zu beginnen, ohne bereits die notwendige Festigkeit im Grundwissen über HTML zu haben. Das ist auch sicher mit ein Grund, warum die Frage hier im falschen Forum gelandet ist.
Schon möglich, aber aus den vier genannten Punkten daraus zu schließen, dass der User über keine HTML-Grundkenntnisse verfügt, finde ich persönlich dann doch sehr anmaßend!

Warum?

Es könnte sich ja schlichtweg um ein "heruntergebrochenes/vereinfachtes" Code-Beispiel handeln, das er hier im Kern zeigt, in dem sie für die Funktionsweise des PHP-Codes erstmal keine Rolle spielen.
 
Zuletzt bearbeitet:
Werbung:
Sorry, aber wenn man nur ein wenig HTML ganz ohne PHP macht, dann wird man in den Tutorials zunächst auf die einfachen Strukturelemente header <h..>, paragraph <p> und break <br> aufmerksam gemacht. Lange kann man sich mit HTML nicht beschäftigt haben, wenn man noch nie eine HTML-NewLine gebraucht hat. Soll sich doch unser Fragesteller selbst mal äußern, ich habe meine Meinung nun ausreichend gesagt, ...
 
Sorry, aber wenn man nur ein wenig HTML ganz ohne PHP macht, dann wird man in den Tutorials zunächst auf die einfachen Strukturelemente header <h..>, paragraph <p> und break <br> aufmerksam gemacht. Lange kann man sich mit HTML nicht beschäftigt haben, wenn man noch nie eine HTML-NewLine gebraucht hat.
Viel Konjunktiv...
ich habe meine Meinung nun ausreichend gesagt, ...
Ich auch :D
 
nl2br halte ich in diesem Fall für übers Ziel hinausgeschossen
PHP:
echo $_POST['strasse'] . '<br>' .
     $_POST['plz'] . ' ' . $_POST['ort'];
 
Werbung:
nl2br halte ich in diesem Fall für übers Ziel hinausgeschossen....
Ich halte nl2br übrigens sogar schlicht für falsch, weil nicht sichergestellt ist, dass die Inputs des Formulars auch ein \n anhängen.
Zudem sollte man $_POST Variablen vor der Verarbeitung ohnedies von jeglichem Sonderzeichenmüll befreien um sie korrekt prüfen zu können.

Sorry, dass ich meine Meinung zu eurer Diskussion hinzugefügt habe :(:cool:
Und schon deshalb schreibe ich das hier, um mich solidarisch mit bdt600 zu erklären.
Recht hat er!
 
Werbung:
Zurück
Oben