PHP Zeilenumbruch - Seite 2

Seite 2 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_zeilenumbruch_43554/page_2 - zur Vollversion wechseln!


jives schrieb am 08.08.2002 um 23:18

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 schrieb am 08.08.2002 um 23:37

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

aber genau so wirds gemacht...


alexsb schrieb am 08.08.2002 um 23:44

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 schrieb am 08.08.2002 um 23:51

Im Forum wahrscheinlich genau so... ähm, da wärn wir dann beim 3. Beispiel :D

\n entspricht dem "Enterzeichen", stimmt.


alexsb schrieb am 08.08.2002 um 23:55

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 schrieb am 09.08.2002 um 00:05

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


alexsb schrieb am 09.08.2002 um 00:13

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 schrieb am 09.08.2002 um 00:23

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 schrieb am 09.08.2002 um 00:24

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 schrieb am 09.08.2002 um 09:12

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 schrieb am 09.08.2002 um 15:42

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 schrieb am 09.08.2002 um 15:59

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 schrieb am 09.08.2002 um 16:08

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 schrieb am 09.08.2002 um 18:13

händisch is eh l33t :)




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025