Я пытаюсь реализовать многоточие в Umbraco, требование состоит из 15 символов вводного текста, но всегда заканчивается полным словом.
Я думал об использовании XSLT, но потом понял, что вместо этого я могу использовать простой метод расширения, написанный на C #.
Я могу легко вставить текст и добавить "...", но я застрял с проблемой необходимости заканчивать его полным словом. Вот мой код (очень сложный: p)
public string Ellipsis(string text, int length)
{
return text.Substring(0, length) + "...";
}
Пример текста
Lorem Ipsum Dolor Sit Amet, Amet Concetetur Adipiscing Elit.
Если мы реализовали метод эллипса выше (длина = 15), результат будет выглядеть как
Lorem Ipsum Dolor Sit Amet, Amet Concectetur Adipi ...
Я бы хотел убедиться, что ни одно слово никогда не разрезается, поэтому вывод должен выглядеть как
Lorem Ipsum Dolor Sit Amet, Amet Concetetur Adipiscing ...
Любая помощь приветствуется.
EDIT
После запуска примера для приведенного ниже кода выясняется, что если длина многоточия заканчивается на последнем слове, текст вообще не отображается.
Вот вывод, см. Строку 56-60
0 : Lorem...
1 : Lorem...
2 : Lorem...
3 : Lorem...
4 : Lorem...
5 : Lorem...
6 : Lorem ipsum...
7 : Lorem ipsum...
8 : Lorem ipsum...
9 : Lorem ipsum...
10 : Lorem ipsum...
11 : Lorem ipsum...
12 : Lorem ipsum dolor...
13 : Lorem ipsum dolor...
14 : Lorem ipsum dolor...
15 : Lorem ipsum dolor...
16 : Lorem ipsum dolor...
17 : Lorem ipsum dolor...
18 : Lorem ipsum dolor sit...
19 : Lorem ipsum dolor sit...
20 : Lorem ipsum dolor sit...
21 : Lorem ipsum dolor sit...
22 : Lorem ipsum dolor sit amet,...
23 : Lorem ipsum dolor sit amet,...
24 : Lorem ipsum dolor sit amet,...
25 : Lorem ipsum dolor sit amet,...
26 : Lorem ipsum dolor sit amet,...
27 : Lorem ipsum dolor sit amet,...
28 : Lorem ipsum dolor sit amet, amet...
29 : Lorem ipsum dolor sit amet, amet...
30 : Lorem ipsum dolor sit amet, amet...
31 : Lorem ipsum dolor sit amet, amet...
32 : Lorem ipsum dolor sit amet, amet...
33 : Lorem ipsum dolor sit amet, amet consectetur...
34 : Lorem ipsum dolor sit amet, amet consectetur...
35 : Lorem ipsum dolor sit amet, amet consectetur...
36 : Lorem ipsum dolor sit amet, amet consectetur...
37 : Lorem ipsum dolor sit amet, amet consectetur...
38 : Lorem ipsum dolor sit amet, amet consectetur...
39 : Lorem ipsum dolor sit amet, amet consectetur...
40 : Lorem ipsum dolor sit amet, amet consectetur...
41 : Lorem ipsum dolor sit amet, amet consectetur...
42 : Lorem ipsum dolor sit amet, amet consectetur...
43 : Lorem ipsum dolor sit amet, amet consectetur...
44 : Lorem ipsum dolor sit amet, amet consectetur...
45 : Lorem ipsum dolor sit amet, amet consectetur adipiscing...
46 : Lorem ipsum dolor sit amet, amet consectetur adipiscing...
47 : Lorem ipsum dolor sit amet, amet consectetur adipiscing...
48 : Lorem ipsum dolor sit amet, amet consectetur adipiscing...
49 : Lorem ipsum dolor sit amet, amet consectetur adipiscing...
50 : Lorem ipsum dolor sit amet, amet consectetur adipiscing...
51 : Lorem ipsum dolor sit amet, amet consectetur adipiscing...
52 : Lorem ipsum dolor sit amet, amet consectetur adipiscing...
53 : Lorem ipsum dolor sit amet, amet consectetur adipiscing...
54 : Lorem ipsum dolor sit amet, amet consectetur adipiscing...
55 : Lorem ipsum dolor sit amet, amet consectetur adipiscing...
56 : ...
57 : ...
58 : ...
59 : ...
60 : ...
61 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
62 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
63 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
64 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
65 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
66 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
67 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
68 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
69 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
70 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
71 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
72 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
73 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
74 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
75 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
76 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
77 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
78 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
79 : Lorem ipsum dolor sit amet, amet consectetur adipiscing elit.
Marko