Warum kommen hier unterschiedliche Ergebnisse raus?
bearbeitet von JörgHallo Rolf,
> Wenn Du möchtest, dass Zeilenumbrüche generell einfach erhalten bleiben und nicht vom Browser zusammengeschnurrt werden, gibt's immer noch die CSS Eigenschaft [white-space: pre](https://wiki.selfhtml.org/wiki/CSS/Tutorials/Typografie/Textausrichtung#Leerr.C3.A4ume_mit_white-space). Dann bleiben Spaces **alle** schön wie sie sind, und deine <br> können keinen Schaden anrichten.
Habe ich auch schon drüber nachgedacht.
Die haben aber wieder andere Problemchen, die sie mitbringen.
Das Gesamtproblem bei der Umsetzung von BBcode ist nicht ganz unbekannt, wie mir scheint 😉
Ich überlege gerade, ob ich so (wie folgt) nicht ganz gut fahre.
~~~ PHP
// Text einlesen
$text = $_REQUEST['myTextarea'];
# Zeilenumbrüche korrigieren
$text = str_replace("\r\n","\n",$text); # windows -> linux
$text = str_replace("\r","\n",$text); # mac -> linux
# array bilden
$arr_text = explode("\n",$text);
$neuerText = '';
foreach($arr_text as $zeile) {
if (!preg_match("/\[\/?(div|li|ul|td|tr|table|code|quote|list|ol|hr|th|tbody|row|h[123456]|youtube)\]$/",$zeile)) {
$zeile = $zeile."\n";
}
$neuerText .= $zeile;
}
echo $parser->parse($neuerText)
->detect_links()
->detect_emails()
->detect_emoticons()
->get_html();
~~~
Das sieht bisher im Ergebnis ganz passabel aus.
Jörg