Calocybe: Entfernung von CRLF aus einer Eingabe

Beitrag lesen

Hallo Frank!

$Text =~ s/??/ /g;
$Text =~ s/\r\n/ /g;

Sorry, das stimmt so nicht. Du gehst davon aus, dass "\r" den ASCII-Wert 13 und "\n" den Wert 10 hat, was aber nicht unbedingt der Fall ist. Ausserdem schneidest Du nur CRLF (also DOS-Zeilenumbrueche) heraus (vermutlich weil es so im Subject steht), aber wenn das Formular von einer Unix-Kiste abgeschickt wird, wo nur ein einzelnes LF also Umbruch uebermittelt wird, laesst Du den Text unveraendert. Daher besser:

$Text =~ s/\015|\012//g;

Oder wenn der Zeilenumbruch drinbleiben soll und die Eingabe später im Browser augezeigt werden soll:

\r\n (Win) oder \n (UNIX) gegen <BR> tauschen

$wunsch =~ s/(\r\n)|(\n)/<BR>/g;

Besser: s/\015\012|\015|\012/<BR>/g;
(siehe <../../sfarchiv/2000_2/t13138.htm#a67383> und von dort verlinkte)

So long