> mein Layouter würde gerne die Texte in Spalten aufteilen. Bei zwei 
> Spalten kann ich mir das ja noch vorstellen. Aber wie mache 
> ich, dass er 
> mir nicht mitten in einem Wort trennt sondern dort in der ungefähren 
> Mitte des Textes wo ein Leerzeichen ist? Gibts da schon etwas 
> Bestehendes? Eine Hilfe bezüglich Arbeiten mit Spalten oder so?
> 
> Ich bin mal soweit gekommen:
>             string strContent = reader.GetString(1);
>             int strLength = strContent.Length;
>             strLength = strLength / 2;
>             TR_Left.Text += strContent.Substring(0,strLength - 1);
>             TR_Right.Text += strContent.Substring(strLength + 1);
> 
> (und wenn auf einmal noch ein Bild kommt? muss ich dann 
> ausrechnen wie 
> viele Zeichen die entsprechende Bildgrösse schluckt und das noch 
> miteinbeziehen?)

Also... Mit CSS2 würde es ja gehen...
http://saftsack.fs.uni-bayreuth.de/html/selfhtml/tdci.htm
Blöd nur, dass das kein Browser anzeigt...

Wenn Du es unbedingt automatisch berechnen willst, dann berechne die genaue
Mitte wie oben und suche ab da da nächste Leerzeichen und dort trennst Du.
Blöd ist nur, dass es vielleicht trotzdem vorkommen kann, dass die rechte
Spalte länger wird... Um dem zu entgehen könnte man je nach Textlänge
vielleicht zur genauen Mitte noch zehn oder 20 Zeichen hinzuaddieren bevor
man das Leerzeichen sucht.

Ansonsten könnte ich mir auch vorstellen, dass das dahinterliegende CMS bei
der 2spaltigen Vorschau es ermöglicht den genauen Umbruch zu verändern. Dann
würde man ein sonderzeichen im Text an dieser Stelle speichern und der
Server wüsste nächstes mal Bescheid.


> Zweite Frage:
> hat jemand schon mal was mit einer automatischen 
> Silbentrennung gemacht?

Kurz angedacht...

> meine Idee wäre dass man die meistgebrauchten Wörter in eine 
> Datenbank 
> eingibt und dann jeweils das Wort mit dem ­ bei den Silben auch. 
> Wenn nun jemand im Content Management den Text eingibt, dass 
> es den Text 
> mit Replace durchläuft und alle bekannten Wörter aus der 
> Datenbank mit 
> den Wörtern mit den ­'s ersetzt.
> Gibts da was einfacheres, bestehendes oder so?

Bestehendes kenn ich nicht, aber es gibt bestimmt irgendwo Beschreibungen
von Trennungsalgorithmen(was ein Wörterbuch unnötig machen würde) oder
elektronische Wörterbücher aus denen man den Umbruch extrahieren kann -
Selbst ein Wörterbuch anlegen fände ich zu mühselig... Das Teil updatet Dir
keiner mehr...

Das Ersetzen der Worte kann kein einfaches Suchen und ersetzen sein. Um
keine Überraschungen zu erleben würde ich die Worte im Wörterbuch nach Länge
rückwärts sortieren vor dem ersetzen, oder noch besser den Text Wort für
Wort durchgehen, ersetzen und dann wieder zusammensetzen (Ist bei grösseren
Wörterbüchern eh effizienter, weil der Text weniger Worte enthält).
Andererseits hat man beim Ersetzen den Vorteil, dass man auch
zusammengesetzte Worte(Deutsche Spezialität) erschlägt auch wenn man die
nicht nochmal im Wörterbuch hat, allerdings entfällt dann der Trenner
zwischen den Worten, es sei denn Dein Algorithmus erkennt explizit
zusammengesetze Worte.

Btw.: Trennungen bei ck => k-k bekommt man damit nicht hin...
Hab grad nachgeschaut... Ist nach der neuen Rechtschreibung eh nicht mehr
nötig.

Auf jeden Fall würde ich aber das Ersetzen - egal wie Du es letztendlich
machst - nicht beim Ausliefern der Seite machen, sondern vorher oder das
Ergebnis irgendwo cachen, so dass man es nur einmal machen muss, sonst ist
das der Tod für Deinen Server.
Ich würde auch das Wörterbuch komplett im Speicher halten, wenn Du den Text
Wort für Wort durchgehst am besten in einer Hashtable, damit Du schnell den
passenden Eintrag findest...


Irgendjemand noch Ideen?


Claudius

_______________________________________________
Asp.net Mailingliste, Postings senden an:
Asp.net@glengamoi.com
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an