Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / мягкие переносы в текстах / 8 сообщений из 8, страница 1 из 1
26.02.2013, 17:25
    #38166870
oaken
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мягкие переносы в текстах
Каким образом кто обрабатывает вывод длинных строк без пробелов дабы не рвалась блочная верстка? Первое что пришло в голову - разбавлять такие тексты символами мягкого переноса. Может существует какой стандартный способ в АСП МВЦ?
...
Рейтинг: 0 / 0
26.02.2013, 20:08
    #38167114
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мягкие переносы в текстах
oaken,

В асп мвц - нет точно. А для всех прочих прочих случаев - тэг <wbr>. Смотреть тынц .
...
Рейтинг: 0 / 0
26.02.2013, 20:17
    #38167125
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мягкие переносы в текстах
ShSerge,

не используйте <wbr>

Ни один браузер при переносе текста не добавляет символ дефиса. При необходимости дефис можно имитировать, заменив тег <wbr> на символ мягкого переноса ­

лучше ­ делает перенос и ставит тире. пока не вижу другого способа, кроме как написать примитивную расставлялку переносов по слогам, или делать это вручную.
...
Рейтинг: 0 / 0
26.02.2013, 20:17
    #38167126
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мягкие переносы в текстах
hVostt,

...
Рейтинг: 0 / 0
26.02.2013, 20:18
    #38167127
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мягкие переносы в текстах
hVostt,

тупой парсер.

автор& shy ;
...
Рейтинг: 0 / 0
27.02.2013, 17:46
    #38168448
oaken
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мягкие переносы в текстах
Кому интересно, хелпер который помогает решить проблему:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 public static MvcHtmlString StrLong(this HtmlHelper helper, string addInfo)
        {
            const string Shy = "&shy;";
            if (addInfo != null)
            {
                string[] splitStr = addInfo.Split(' ');

                 for (int i = 0; i < splitStr.Length; i++)
                {
                    if (splitStr[i].Length > 30)
                    {
                        splitStr[i] = string.Join(Shy , System.Text.RegularExpressions.Regex.Split(splitStr[i], "(.{" + 30 + "})"));
                        if (splitStr[i].Substring(0, 5) == Shy)
                        {
                            splitStr[i] = splitStr[i].Substring(5, splitStr[i].Length - 5);
                        }
                    }
                }
                return new MvcHtmlString(string.Join(" ", splitStr));
            }
            else
            {
                return new MvcHtmlString("");
            }
        }
...
Рейтинг: 0 / 0
27.02.2013, 22:06
    #38168742
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мягкие переносы в текстах
oaken,

необходимо разбивать по слогам, и учитывать «вес» точки расщепления слова, так как в слове из 31 символа перенос окажется на последнем символе, а надо в середине, или в двух местах, равномерно.
...
Рейтинг: 0 / 0
28.02.2013, 09:45
    #38169073
oaken
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
мягкие переносы в текстах
hVosttoaken,

необходимо разбивать по слогам, и учитывать «вес» точки расщепления слова, так как в слове из 31 символа перенос окажется на последнем символе, а надо в середине, или в двух местах, равномерно.Это все понятно, поэтому и спрашивал о возможных встроенных способах решения подобных проблем. Для наших нужд и такого хватает :)
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / мягкие переносы в текстах / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]