Wie kann ich in PHP einen Zeilenumbruch mitten in einem Echo hinzufügen?
Beispiel:
$Label = ".2";
$beispiel = "Zeile 1 \n" . $Label . "Zeile 2";
echo $beispiel;
Ergebnis soll sein:
Zeile 1.2
Zeile 2
Aber da steht dann kein Absatz sondern es steht alles in einer Zeile.. Was muss ich tun?
Und ich kann das nicht direkt als Echo ausgeben, da das eine über dem HTML Code steht und das <?php echo $beispiel; ?> im Body.
5 Antworten
Erfolgt die Ausgabe in HTML, dann nutz einfach die gültigen HTML-Tags für das was du erreichen willst. In dem Fall also "<br />"
Darüberhinaus fehlt natürlich ein Zeilenumbruch vor Zeile 2 bzw. nach "$Label". Selbst wenn das \n an der Stelle funktionieren würde, wäre das Ergebnis folgendes:
Zeile 1
.2Zeile 2
Wenn Du Deine Texte z.B. aus einer DB oder einer Textdatei lädst,
kannst Du die \n stehen lassen.
$beispiel = "Zeile 1 \n" . $Label . "\n Zeile 2";
echo nl2br($beispiel);
Das nl2br() ersetzt bei der Ausagbe alle \n automatisch durch einen - br -.
Das spart Speicher und Dir stehen, je nach Verwendungswunsch beide Formate zur Verfügung.
Das klappt auch bei Formulareingaben in z.b. textaera wenn dort die Entertaste für einen Zeilenumbruch verendet wurde.
Ansonsten kanntst Du jeden HTML - Code in einem - echo- unterbringen.
Der Zeilenumbruch ist da. Der Browser ignoriert aber Zeilenumbrüche, solange sie nicht zwischen {pre} und {/pre} eingeschlossen sind.
Wenn es dir also nicht nur um den Quelltext geht, musst du mit {br} arbeiten.
Ich wusste, da gab es eine Erklärung für, aber musste das eben noch mal rausduchen ;) Der Absatz mit "\n" funktioniert aus folgendem Grund nicht: http://stackoverflow.com/a/12994798
$Label = ".2";
$beispiel = "Zeile 1 \n" . $Label . "Zeile 2";
$Label = ".2";
$beispiel = "Zeile 1 <br>" . $Label . "Zeile 2";