B.E.A. wrote:So, den Test mit dem Kontaktformular habe ich gemacht. In der erhaltenen Mail ist alles korrekt zu sehen. Absätze sind da wo sie hingehören.
Mit aktiviertem WYSIWYG-Editor (kurz folgend JS-Editor genannt) und aktiviertem NL2BR Plugin?
(Übrigens: Jedes Feld in das ein User etwas eintragen und absenden kann ist ein Formularfeld, wo auch immer.) Im Falle des Kontakt Mailformulares kann es sogar sein, dass NL2BR mit nl2br() völlig unnötig ist, da es ich hier nicht um HTML Ausgaben, sondern um MAIL Ausgaben handelt. Da liegt der Hase dann woanders. Wahrscheinlich ist deshalb, dass das NL2BR hier sowieso umschifft wird.
B.E.A. wrote:Nun zu meiner Überlegung. Sag mir bitte, ob ich das so machen kann. Ich schalte das NL2BR Plugin wieder zu, weil es ja eigentlich Sinn macht. Da ich immer mit dem WYSIWYG-Editor arbeite, müsste ich nun von Hand, wann immer ich eine Tabelle anlege den Befehl <nl>/</nl> zum Einsatz bringen, damit es keine ungewollten Umbrüche gibt. Richtig?
Falsch!
Sobald ein JS-Editor im Spiel ist wird NL2BR
gar nicht mehr für die Ausgabe im Frontend durchlaufen!
Code: Select all
// don't add additional br or p tags, if the wysiwyg-editor, the textile, or markdown plugin already took care about markup
EIN JS-Editor kümmert sich von sich aus um die korrekte HTML-Schreibweise deiner Eingaben - auch von ENTER-Umbrüchen! (
Ausnahme: Kommentare, siehe nächstes Posting.)
B.E.A. wrote:Und was ist, wenn das NL2BR Plugin irgendwann in der Entwicklung der Programmierung überflüssig würde, oder wird es das nie geben? Laienfrage... dachte ich einfach nur, weil ich etwas voraus dachte und mir gerade durch den Kopf geht, das ich dann alle Einträge mit Tabelle vom <nl> befreien müsste.
Man soll nie nie sagen, aber es ist eine programatische Funktion in PHP (als "
Templatesprache"), die noch lange erhalten bleiben wird.
Was das eingesetzte <nl> Tag </nl> für die Ausnahmen angeht, so stört das nur den Browser und das auch nicht wirklich, da er/sie/es solches einfach stillschweigend ignoriert. Bei Verwendung des NL2BR Plugins werden diese für die Ausgabe aber wieder herausgerechnet!
Natürlich könnte eines Tages jemand auf die blendende Idee kommen <nl> zu einem offiziellen HTML Tag zu machen.... (aber davon schweigen wir jetzt!)
B.E.A. wrote:Ich habe mal gerade bei meinen anderen Blogs geschaut und stellte fest, das bereits bei 4 Blogs das NL2BR nicht installiert ist. Bis heute sind mir dabei keine komischen Sachen aufgefallen. Hab ich nur Glück gehabt?
Glück ist in dem Fall ein merkwürdiger Begriff. Es kommt wie immer darauf an, wer in diesem Fall für die Auszeichnung von ENTER-Umbrüchen verantwortlich war, ein JS-Editor oder ein anderes der genannten Markup-Plugins, oder der standardmäßige PLAIN-TEXT Editor, kurz folgend PTE genannt.
Die Frage wäre ja, wie diese Artikel in der Ausgabe deine aktiv gesetzten Teilenumbrüche mit ENTER ausgegeben haben.
Ja, das hat er schon immer und voller Leidenschaft gemacht!
B.E.A. wrote:Ich stelle mir allerdings die Frage, wenn es ja bereits bei Installation mit ausgeliefert wird, warum bei der Entwicklung mit dem kombinieren von Editoren, dann nicht direkt eine Lösung mit programmiert wird, um keine unnötigen <br> zu schreiben. Es kann ja nicht Sinn und Zweck sein, den html Code von Hand nachzubessern.
Auch hier unterliegst du einem Irrtum, der wahrscheinlich auf meine unzureichenden Erklärungsversuche zurückzuführen ist. NL2BR mit nl2br() ist
nur dann sinnvoll und wird im Plugin auch
nur dann aktiv, wenn
keines der anderen Plugins (JS-Editor+Textile+Markdown) installiert und aktiv ist. Dies gilt mind. seit Nov 24, 2011 und dem darauf folgenden S9y Release.
B.E.A. wrote:Denke ich da jetzt zu einfach?
Blog-Anfänger kommen dann womöglich nicht damit zurecht. Ich bin ja schon nicht mehr so ganz "anfängerblond" und versuche mich im HTML rein zu denken und zu verstehen, was da so passiert. Hoffe du siehst mir nach, wenn ich dann für Entwickler, oder Profis halt eben meine "Laien" Fragen stelle.
Ich sag es klar:
Wer HTML schreibt - ob mit JS-Editoren, Textile oder Markdown mit eigener Syntax, oder sogar per Hand im PTE,
hat NL2BR mit nl2br() zumindest für eigene Einträge eigentlich
nicht nötig!
Diese "Purität" hat allerdings den Nachteil, dass man im letzteren Falle (mit PTE) jeden einzelnen Zeilenumbruch als <br> selber schreiben muss. Willst du allerdings den PTE verwenden und, aufgrund mangelnder Versiertheit oder als Liebhaber kurzer Wege, auf die schöne Funktion von nl2br(), nämlich der Umwandlung von ENTER (\n) in <br>, nicht verzichten, so musst DU halt selber aufpassen, wenn du strukturiertes Markup (siehe Tabellenbeispiele) in diesen PTE einfügst.
Dafür und nur dafür sind diese Ausnahmen mit [NoBR]=<nl>...</nl> gemacht. So nebenbei: Auch die NL2P Option des NL2BR Plugins macht ähnliches, wenngleich viel komplizierter und scheitert deshalb manchmal bei komplizierteren Sachen.
Appendix:
Was ich bis jetzt überhaupt nicht verstehe, wie du überhaupt bei Benutzung eines JS-Editors auf treppenartige Tabellen in der Ausgabe treffen konntest (meiner Erinnerung nach der Grund der Fragestellung)