"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

PHP Zeilenumbruch

Maxx666 07.08.2002 - 09:20 6491 28
Posts

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
1. Bsp: Und was machst du, wenn du eine Textdatei in HTML ausgeben willst?

2. Bsp: Stell dir vor, du hats einen einfachen Text, den du irgendwo eu einer Page mit echo $text; ausgibst. Der Text ist in einer mySQL-Datenbank gespeichert, und alle User mit berechtigung können den Text editieren.
Beim editieren macht man das über ein herkömmliches, mehrzeiliges html-Textfeld. Soll jetzt der Text auf der Seite so aussehen wie im Textfeld, muss man überall <br> einbauen - das ist nicht gerade übersichtlich - ganz zu schweigen vom Userkomfort. Also baust du eine Funktion ein, die bevor der Text in der DB gespeichert wird, alle \n zu <br> umwandelt. Der nächste User der einen Rechtschreibfehler entdeckt hat, will den Text editieren - und bekommt ein html/normaltext-Mischmasch. Jetzt kannst wieder zurückumwandeln usw.

Hättest du statt dem echo $text; ein echo nl2br($text); verwendet, hättest du dir das alles gespart :D

Das Sezenario hab ich oft genug bei Clanpages gesehn, die auf der Indexpage ihre Clanliga/Clanwartermine haben. Und genau das hab ich bei unserer Clanpage umgesetzt ;)

PS: Das 2. Beispiel ist wahrscheinlich saudumm, aber mir is nix gescheiteres eingefallen :D

Jehul

Big d00d
Avatar
Registered: Nov 2000
Location: lnz
Posts: 295
Zitat von KaZaa
PS: Das 2. Beispiel ist wahrscheinlich saudumm, aber mir is nix gescheiteres eingefallen :D

aber genau so wirds gemacht...

alexsb

hmm
Avatar
Registered: Jun 2001
Location: near Graz
Posts: 1566
Moment! Das heisst mit der Funktion wird das tatsächlich gedrückte "Enter" für eine Zeilenumbruch auch in html dargestellt? Das wär praktisch. Ich habe das so verstanden das du das so machen must

text text text text text text text text text text/n
text text text text text text text text text text/n

Wie funktionert des denn hier im Forum?

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Im Forum wahrscheinlich genau so... ähm, da wärn wir dann beim 3. Beispiel :D

\n entspricht dem "Enterzeichen", stimmt.

alexsb

hmm
Avatar
Registered: Jun 2001
Location: near Graz
Posts: 1566
Zitat von KaZaa
Im Forum wahrscheinlich genau so... ähm, da wärn wir dann beim 3. Beispiel :D

\n entspricht dem "Enterzeichen", stimmt.

Ich frage jetzt nochmal nach, bevor ich meine Page umcoden kann.

Ich brauche dann im Text nichts als Plain Text mit Enterzeichen zu schreiben und die Funktion macht automatisch ein <br> draus?

Wo ist dann da ein /n?

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Das \n ist nur ein Platzhalter für eine nue Zeile und wird nicht als \n, sondern eben als neue Zeile ausgegeben. Du könntest jetzt statt der Entertase nur noch \n's verwenden :D

Du kannst es ja einfach probieren:

Code: PHP
<?php

$string1 = "Zeile1-Zeile1-Zeile1-Zeile1
Zeile2-Zeile2-Zeile2-Zeile2";

$string2 = "Zeile1-Zeile1-Zeile1-Zeile1\nZeile2-Zeile2-Zeile2-Zeile2";

echo "<b>Vorher:</b><br>";
echo "$string1<p>";
echo "$string2<p>";

$string1 = nl2br($string1);
$string2 = nl2br($string2);

echo "<b>Nacher:</b><br>";
echo "$string1<p>";
echo "$string2<p>";

?>

Vielleicht macht das das ganze etwas klarer.
http://home.pages.at/kazaa/nl2br.php
Bearbeitet von jives am 09.08.2002, 00:09

alexsb

hmm
Avatar
Registered: Jun 2001
Location: near Graz
Posts: 1566
Die Funktion des /n is komplett klar(is ja in c auch net anders). Was net klar war(ist) das die Funktion auch ohne /n und nur mit einme Enter den Zeilenumbruch in ein <br> verwandelt. Das ist wirklich sinnvoll.

Jehul

Big d00d
Avatar
Registered: Nov 2000
Location: lnz
Posts: 295
Zitat von KaZaa
http://home.pages.at/kazaa/nl2br.php

is das a fehler in deiner php-version, oder wieso macht der statt am "<br>" ein "<br />" ???
das is doch nicht html-konform, oder.
komisch.

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Zitat von alexsb
Die Funktion des /n is komplett klar(is ja in c auch net anders). Was net klar war(ist) das die Funktion auch ohne /n und nur mit einme Enter den Zeilenumbruch in ein <br> verwandelt.

Tut sie.

@Simon: Genau genommen macht die Funktion auch ein <br /> statt dem <br>.
Obs wc3-konform ist, weiß ich leider nicht.

Maxx666

Kitemaniac
Avatar
Registered: Sep 2001
Location: Longshore / West..
Posts: 712
Zitat von Simon
is das a fehler in deiner php-version, oder wieso macht der statt am "<br>" ein "<br />" ???
das is doch nicht html-konform, oder.
komisch.


das dürfte schon passen, scheint nämlich xhtml konform zu sein.
ausserdem hats mein browser gechecked. ;)

-> http://selfhtml.teamone.de/html/text/zeilenumbruch.htm

Jehul

Big d00d
Avatar
Registered: Nov 2000
Location: lnz
Posts: 295
Zitat von Maxx666
das dürfte schon passen, scheint nämlich xhtml konform zu sein.
ausserdem hats mein browser gechecked. ;)

-> http://selfhtml.teamone.de/html/text/zeilenumbruch.htm
^

na dann ists klar kein fehler *G*
is nur die frage, ob es netscape auch tscheckt.
in der arbeit muss ich oft bei seiten schauen, dass sie ns 4.5 kompatibel sind (wtf). *test*

manalishi

tl;dr
Avatar
Registered: Feb 2001
Location: Feldkirch
Posts: 5977
sollte eigentlich kompatibel sein, da ein unbekanntes attribut in einem tag von einem browser prinzipiell ignoriert wird. wenn man den code aber noch im oldschoolstyle händisch schreibt, verzichtet ma auf den slash "/" aber meistens, da es doch etwas mühsam wird, das bei jedem <br> oder so auszutippen, denn es gibt noch einige tags, die von haus aus auch ohne attribute sinnvoll sind.

Jehul

Big d00d
Avatar
Registered: Nov 2000
Location: lnz
Posts: 295
Zitat von manalishi
sollte eigentlich kompatibel sein, da ein unbekanntes attribut in einem tag von einem browser prinzipiell ignoriert wird. wenn man den code aber noch im oldschoolstyle händisch schreibt, verzichtet ma auf den slash "/" aber meistens, da es doch etwas mühsam wird, das bei jedem <br> oder so auszutippen, denn es gibt noch einige tags, die von haus aus auch ohne attribute sinnvoll sind.

<- bin a oldshooler ;D

da ich oft fertige designs bekomme, da drin a bisserl php zeugs einbau ist es dann schwierig äderungen mit am wysiwyg-tool zu machen. da bleibt dann oft nur händisches editieren...

manalishi

tl;dr
Avatar
Registered: Feb 2001
Location: Feldkirch
Posts: 5977
händisch is eh l33t :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz