Homepage selbermachen 7.852 Themen, 35.619 Beiträge

Automatische Zeilenumbrüche in <pre>

Yves3 / 5 Antworten / Baumansicht Nickles

Hallo,

Ich lese einen Text aus einer Datenbank, der genau so wiedergegeben werden sollte, wie er in der Datenbank steht. Die Zeilenumbrüche, Leerzeichen, Tabs etc. sollten übernommen werden.
Das funktioniert mit dem <pre> Tag zwar super, leider können die Texte aber teilweise auch mehrere Bildschirmbreiten breit sein, ohne einen Zeilenumbruch zu enthalten, was natürlich mein Layout übelst zerreisst...
Was muss ich machen, damit dieser Text innerhalb meines vorgegebenen Rahmens bleibt?

Ich verwende ASP.NET und C#, das muss aber wahrscheinlich sowieso auf der HTML-Ebene gelöst werden, ist also eigentlich egal.

bei Antwort benachrichtigen
Zaphod Yves3 „Automatische Zeilenumbrüche in <pre>“
Optionen

Das kannst du nicht auf HTML-Ebene lösen - entweder bekommt HTML vorformatierten Text (dann wird er wie eingegeben angezeigt) oder nicht (dann übernimmt HTML die Formatierung).
Du müsstest den Text vor der Ausgabe bearbeiten und bei Bedarf umbrechen lassen (in deinem Falle via ASP.NET).

HTH, Z.

bei Antwort benachrichtigen
Yves3 Zaphod „Das kannst du nicht auf HTML-Ebene lösen - entweder bekommt HTML...“
Optionen

Danke für den Tipp.
Das String Objekt hat eine Replace Methode, mit der ich z.B. aus einem \n\r ein
machen kann.
Die Tabulatoren scheinen aber nicht ohne immensen Aufwand machbar zu sein. :(

bei Antwort benachrichtigen
Zaphod Yves3 „Danke für den Tipp. Das String Objekt hat eine Replace Methode, mit der ich...“
Optionen
Die Tabulatoren scheinen aber nicht ohne immensen Aufwand machbar zu sein. :(
Das sehe ich leider genau so :(

Gruß, Z.
bei Antwort benachrichtigen
Borlander Zaphod „ Das sehe ich leider genau so : Gruß, Z. “
Optionen

Naja, so groß sollte der Aufwand doch auch nicht sein. Wir müssen dazu ja immer nur eine Zeile betrachten. Die einzeilne Zeile wird dann zeichenweise durchlaufen und die Zeichen gezählt, falls ein Tabulatorzeichen gefunden wird muß entsprechend des Zählers mit Leerzeichen aufgefüllt werden bis zur nächsten Tabulatorgrenze (typische Werte sind da ein vielfaches von 2, 4 oder 8) sowie natürlich auch der Zähler entsprechend angepasst werden. Sowas zu implementieren dürfte keine Ewigkeit in Anspruch nehmen ;-)

Gruß
bor

bei Antwort benachrichtigen
Yves3 Borlander „Naja, so groß sollte der Aufwand doch auch nicht sein. Wir müssen dazu ja...“
Optionen

Ja, so könnte das machbar sein.
Ich hatte an irgendwelche Lösungen in CSS gedacht, was mir dann zu kompliziert wurde.

bei Antwort benachrichtigen