Ellipse mit C # (endet mit einem ganzen Wort)

8

Ich versuche, Ellipsen in Umbraco zu implementieren, wobei die Anforderung aus 15 Zeichen Intro-Text besteht, aber immer mit einem vollständigen Wort endet.

Ich dachte an die Verwendung von XSLT, aber dann erkannte ich, dass ich stattdessen eine einfache Erweiterungsmethode verwenden kann, die in C # geschrieben ist.

Ich kann den Text leicht unterteilen und "..." anhängen, aber ich bleibe bei der Frage, dass ich ihn mit einem ganzen Wort beenden muss. Hier ist mein Code bisher (sehr kompliziert: p)

%Vor%

Beispieltext

  

Lorem ipsum dolor sitzt amet, amet consectetur adipiscing elit.

Wenn wir die obige Ellipsenmethode (Länge = 15) implementiert hätten, würde die Ausgabe wie folgt aussehen:

  

Lorem ipsum dolor sitzt amet, amet consectetur adipi ...

Ich möchte sicherstellen, dass kein Wort abgeschnitten wird, daher sollte die Ausgabe aussehen wie

  

Lorem ipsum dolor sitzt amet, amet consectetur adipiscing ...

Jede Hilfe wird geschätzt.

BEARBEITEN

Nach dem Ausführen des Beispiels für den folgenden Code scheint, dass, wenn die Ellipsenlänge auf das letzte Wort endet, überhaupt kein Text angezeigt wird.

Hier ist die Ausgabe, siehe Zeile 56-60

%Vor%

Marko

    
Marko 27.09.2010, 03:36
quelle

2 Antworten

19
%Vor%

Edit: Das ist das Programm, mit dem ich es getestet habe:

%Vor%

Hier wird ausgegeben:

%Vor%     
Preet Sangha 27.09.2010, 03:45
quelle
3

Ich möchte eine alternative Implementierung geben, da der von Preet angegebene Code keine maximale Textlänge garantiert. Ich musste eine Wort-Ellipsen-Funktion implementieren, die ein hartes Längen-begrenztes Textwort-Ellipsen-Trimmen zurückgibt. Zusätzlich werden Satzzeichen vor den Ellipsen abgeschnitten.

%Vor%

Einheit getestet - funktioniert als Charme.

Ausgabe:

%Vor%     
Lars 13.02.2013 09:18
quelle

Tags und Links