Philipp Hasenfratz: ZEilenumbrüche in <br> umwandeln?

Beitrag lesen

Halihallo zusammen

$br =~ s/\r\n/<br>/g;

nee, was ist denn, wenn da nur '\r' drin steht bzw. '\n\r'?
Dann triffst Du das nicht.

\n\r ist kein "offizieller" Abschluss für ein Zeilenende.

$br =~ s/\r|\n/<br>/g;

Damit wird aber \r\n zu <br><br> ersetzt. (\r\n|\r|\n) würde Windows-, Mac- und Unix-Zeilenumbrüche ersetzen. Die Reihenfolge der Alternativen ist ebenso wichtig, (\r|\n|\r\n) würde zuviele <br> ausgeben.

\n ist System-/Implementationsabhängig! (\n kann \015, \012 oder gar \015\012 bedeuten)

=>

$br =~ s/\015\012|\015|\012/<br />/g;

funktioniert überrall.

Eine neue Zeile wird durch CR, LF oder CRLF eingeführt (oder besser beendet).

CR = \015
LF = \012

wenn man's genau nimmt. \r und \n sind _immer_ mit Vorsicht zu geniessen. Ich könnte mir jedoch vorstellen, dass deine Lösung auf allen Systemen/Impl. funktioniert, aber "exakt/treffend" ist es dennoch nicht :-)

Viele Grüsse

Philipp