Cheatah: Umbruch

Beitrag lesen

Hi,

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

Das gefaellt mir schon recht gut. Nur weiss ich nicht, wie Perl da regiert, wenn es auf \r\n trifft. Wird es gleich mit \r\n zuschlagen, oder wird es erst ein \r erkennen und durch

»»  ersetzen und dann ein \n und dieses auch noch ersetzen? Falls letzteres, dann hilft vielleicht schon eine Umstellung der Reihenfolge:

eigentlich müßte die Gier der RegExp überwiegen, aber zur Sicherheit kann natürlich umsortiert werden.

$text =~ s/\r\n\n\r/<br>/g;      # \n\r gibt es wohl glaube ich nirgendwo. Aehem.. oder doch?

Weiß ich nicht, aber schaden kann's wohl kaum ;-)

Falls das nicht ausreicht muesste man wohl notgedrungen etwas wie
    if ($text =~ /\n/) {
        $text =~ s/\r//g;
        $text =~ s/\n/<br>/g;
    } else {
        $text =~ s/\r/<br>/g;
    }
auffahren. Der if-Zweig fuer DOS und UNIX, der else-Zweig fuer den Mac. Falls es wirklich irgendwo sowas wie \n\r geben sollte, wird das im if-Zweig mit abgehandelt.

Hm, ich weiß nicht... das sagt mir irgendwie nicht zu. Was ist, wenn die Umbrüche nicht einheitlich sind? Wenn irgendwo vereinzelt \r's mit auftauchen? Die werden im if ersatzlos gestrichen.

Wie Tom schon sagte: Zum Glück ist das Leben so einfach...  ;-)

Stimmt :-)

P.S. Uebrigens wird in den Netscape-Bookmarkdateien \r\r\n fuer den Umbruch verwendet (vielleicht haben sie fuer den PC aus Versehen zweimal das \n in ein \r\n umgewandelt *g*).

Oh, faszinierend :-)

Cheatah