Calocybe: -> (REGEXP) s/\n/<br>/g; geht nicht!

Beitrag lesen

Re!

Im Chat wurde ich darauf hingewiesen, dass das vielleicht auch nur eine Aprilverarschung ist, aber nach Deiner neuerlichen Antwort scheint mir dass dann doch nicht der Fall zu sein. Ich wuerde Dir auf jeden Fall empfehlen, mal einen Einfuehrungskurs in Perl zu machen.

my $tmp_test="";
foreach ($test)
{
     chomp ($_);
     $tmp_test = $tmp_test + $_ + "<br>";
}
$test = $tmp_test;

Das laesst sich uebrigens kuerzer schreiben:
  chomp($test);
  $tmp_test = ($test += '<br>');

Die Zeichenfolge $text=~s/\n/<br>/g; durchsucht die
Variable $test nach Wagenrücklauf und ersetzt ihn in ein
HTML-Zeilenumbruch (<br>).

Zumindest die Zeilenumbrueche, die vom aktuellen System verwendet werden, aber nicht unbedingt die, die ueber's Internet gesendet werden. Gerade um letzteres ging es hier aber. Das wichtigste aber ist, wenn es Zeilenumbrueche ersetzt, dann *alle*.

foreach ist ein Befehl, der jede Zeile pro durchlauf in $_ kopiert.

Das ist kompletter Quatsch. foreach setzt $_ (oder eine andere Variable, die Du angibst) nacheinander als Alias fuer jedes Element einer Liste. Mit irgendwelchen Zeilen hat das nichts zu tun; Kopien werden auch keine angelegt.

$tmp_test ist eine Variable, an die Ständig die Zeile $_ ohne Wagenrücklauf
wegen chomp ($_) angehängt wird und zusätzlich ein <br>.

chomp verhindert nicht, dass eine Variable Zeilenumbrueche enthalten kann, es sei denn, diese stehen zufaellig immer am Ende (was aber vor allem in diesem Beispiel (Textarea) ueberhaupt nicht gegeben ist).

Im Grunde ersetzt meine Routine also auch alle Zeilenumbrüche in
ein <br>.

Definitiv nicht.

So long