Jörg: Warum kommen hier unterschiedliche Ergebnisse raus?

Beitrag lesen

Hallo Rolf,

so langsam komme ich dahinter, was du treibst und wo genau deine Probleme sind 😉

Ich wurschtel schon viel zu lange daran herum, finde ich. Aber so ist das manchmal mit anfangs so klein erscheinenden Problemen, die es im weoiteren verlauf aber dann doch ganz schön "in sich" haben.

Du entfernst durch den explode die \n aus der Eingabe.

Ach herrje, natürlich. Das erklärt und beantwortet natürlich meine Frage. 👍

Geht es Dir darum, Zeilenumbrüche zu beseitigen, wenn zwei BBCodes aufeinander folgen und zwischen ihnen nur Whitespace ist?

Nicht nur. Es könnte auch sein, dass der BBcode-Parser irgendetwas zu einem Blockelement wandelt. Dann müsste IMHO auch kein weiteres <br> mehr folgen.

Also z.B. an Stellen wie hier:

[tr][td][/td]
[td]dzerh[/td]
[/tr]

Der BBCode-Konverter sollte daraus dies machen:

<tr><td></td>
<td>dzerh</td>
</tr>

Na eigentlich wärs schöner, wenn er daraus

<tr><td></td><td>dzerh</td></tr>

machen würde. 😉

und das ist soweit okay. Aber dein nl2br, mit dem Du in normalem Text Zeilenumbrüche erhalten willst, schießt Dir quer und setzt da <br> ein. Das dürfte das Problem sein.

Genau so sieht es aus.

Im ersten Schritt könnte man versuchen, nur dann ein <br> einzusetzen, wenn man zwei Zeilenumbrüche hintereinander findet.

Du weißt doch selber, dass User Zeilenumbrüche gerne als Formatierungselement einsetzen, nicht wahr? Das riecht nach Problemen... 😉

Dein System würde sich dann ähnlich wie das Forum verhalten: wenn Du keine Leerzeile machst, wird der Text zu einem Paragraphen zusammengepappt.

Was ich auch hier im Forum als "unglücklich" empfinde.

Die CForum-Sonderlocke, dass ein Zeilenumbruch erhalten bleibt, wenn eine Zeile auf zwei Leerstellen endet, so wie hier,

wußt' ich gar nicht. 😉

Danke weiter für Deine Hilfe. Aber bisher gefallen mir die Lösungen noch nicht wirklich gut 😏

Mal weiter drüber nachdenken...

Jörg