Dominik: <pre> mit automatischem Zeilenumbruch?

Hallo,

ich hatte die Frage schonmal gestern abend gestellt, da konnte mir leider niemand weiterhelfen.

Gibt es eine Möglichkeit, beim <pre> Tag automatischen Zeilenumbruch einzustellen? Es soll also bei zu breitem Text umbrochen werden. Alternativ würde mir auch reichen, das <pre>-Verhalten (bis auf den Zeilenumbruch) mit CSS zu imitieren.

Danke im voraus,
Dominik

  1. Hi,

    Alternativ würde mir auch reichen, das <pre>-Verhalten (bis auf den Zeilenumbruch) mit CSS zu imitieren.

    welches Verhalten genau meinst Du? Die Schriftart ist monospace, und beim Verhalten bei Whitspaces musst Du Dich entscheiden, ob sie im textuellen oder im HTML-Sinne genommen werden sollen. Wenn Du letzteres möchtest, sind die meisten Leerzeichen für Dich vermutlich Nonbreakingspaces.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo,

      ich möchte vor allem, dass Tabstopps \t und Zeilenumbrüche \n als solche dargestellt werden. Bei Zeilenumbrüchen kann ich mir immerhin noch mit PHP weiterhelfen und die durch <br> ersetzen. Aber bei Tabstopps geht das leider nicht.

      Dominik

      1. Hi,

        ich möchte vor allem, dass Tabstopps \t und Zeilenumbrüche \n als solche dargestellt werden.

        was soll bei einer Zeile passieren, die eingerückt ist und nicht mehr auf den Bildschirm passt? Soll sie nach dem automatischen Umbruch links anfangen, auf Höhe des Zeilenanfangs, etwas weiter rechts, etwas weiter links, ...?

        Bei Zeilenumbrüchen kann ich mir immerhin noch mit PHP weiterhelfen und die durch <br> ersetzen. Aber bei Tabstopps geht das leider nicht.

        Wieso nicht?

        Um es kurz zu machen: Was Du Dir wünschst geht so nicht. Du willst Fisch und Fleisch miteinander kreuzen, was nicht klappt. Überlege Dir lieber, was Du als Ergebnis haben möchtest, dann sehe ab, wie Du dieses erreichen _kannst_ - nicht _willst_.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo,

          was soll bei einer Zeile passieren, die eingerückt ist und nicht mehr auf den Bildschirm passt? Soll sie nach dem automatischen Umbruch links anfangen, auf Höhe des Zeilenanfangs, etwas weiter rechts, etwas weiter links, ...?

          Auf Höhe des normalen Zeilenanfangs. Kurz: So wie in Microsoft Notepad/Editor mit aktiviertem Zeilenumbruch.

          Überlege Dir lieber, was Du als Ergebnis haben möchtest, dann sehe ab, wie Du dieses erreichen _kannst_ - nicht _willst_.

          Vielleicht hast du ja eine Idee: Es geht darum, dass ein Besucher selbst bestimmen soll, wie die Liste, die ausgegeben wird formatiert werden soll. Die Liste besteht aus Nummern ($nr) und Bezeichnungen ($wert). Jetzt kann man z.B. eingeben "$nr, " und bekommt dann "1, 2, 3, 4, 5, " ausgegeben. Oder man gibt "$nr $wert\n" ein und bekommt
          1 Bezeichnung eins
          2 Bezeichnung zwei
          3 Bezeichnung drei
          Und Tabs kann man zum Trennen der Werte auch verwenden. Wenn die Ausgabe als <pre> formartiert ist, muss man bei langen Listen (bei "$nr, ") horizontal scrollen. Und das will ich verhindern.

          Dominik

          1. Hi,

            Auf Höhe des normalen Zeilenanfangs. Kurz: So wie in Microsoft Notepad/Editor mit aktiviertem Zeilenumbruch.

            schade. Bei gleicher Höhe könntest Du die Zeilen als <div> mit margin-left abbilden :-)

            Es geht darum, dass ein Besucher selbst bestimmen soll, wie die Liste, die ausgegeben wird formatiert werden soll.

            Hm, für mich klingt das nach <ol> mit günstigen display-Eigenschaften (u.a.).

            Und Tabs kann man zum Trennen der Werte auch verwenden.

            Welche sinnvolle Darstellung eines Tabulators schwebt Dir vor? IMHO kannst Du eine Anzahl von (Nonbreaking) Leerzeichen nehmen, ggf. geschickt mit Modulo und der Stringlänge gewählt.

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Hi!

              Welche sinnvolle Darstellung eines Tabulators schwebt Dir vor? IMHO kannst Du eine Anzahl von (Nonbreaking) Leerzeichen nehmen, ggf. geschickt mit Modulo und der Stringlänge gewählt.

              Man soll die ausgegebene Liste aber z.B. einfach in Excel kopieren können. Bei Datensätzen ist ein gewöhnliches Format nunmal die Trennung mit Tabs. Wenn ich statt Tabs einfach die entsprechende Anzahl Leerzeichen nehmen würde, wäre das etwas anderes.

              Ich werde das Problem wohl irgendwie anders umgehen müssen. Z.B. <pre> wenn ein Tabstopp vorkommt und sonst <div> oder so. Trotzdem danke für Deine Hilfe.

              Dominik

              1. Hi,

                Man soll die ausgegebene Liste aber z.B. einfach in Excel kopieren können.

                ob ein Tabulator-Zeichen in die Zwischenablage übernommen werden kann, ist vom Browser abhängig. Stelle die Daten lieber _nicht_ dar, sondern liefere sie serverseitig als application/octet-stream aus, so dass sie direkt abgespeichert werden können, oder als Excel-tauglichen Typus, etwa text/tab-separated-values.

                Bei Datensätzen ist ein gewöhnliches Format nunmal die Trennung mit Tabs.

                Bei CSV, meinst Du.

                Cheatah

                --
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. Bei CSV, meinst Du.

                  CSV ist auch ein gewöhnliches Format, aber ein anderes. Bei CSV sind die Werte Komma- (bzw. Semikolon-) getrennt: Comma Seperated Values.