Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
skiv 21.02.2011 15:09 / 21.02.2011 17:50
Есть ли у кого-нибудь готовая функция которая из большого текста отрезает кусок заданной длины, но не рвет слова посередине, а нормально их обрабатывает, учитывает знаки препинания, ставит троеточие и пр.?@textCut[txt;len][around] $result[$txt] # вычитаем троеточие $len($len - 3) # если строка длиннее чем надо ^if($len > 5 && $len < ^txt.length[]){ # режем $result[^txt.left($len)] # символы до и после разреза $around[^txt.mid($len - 1;2)] # если оба символа не пробелы, уменьшаем строку до первого пробела ^if(^around.match[^^[^^ ]{2}^$]){ $result[^result.match[\s[^^\s]+^$][]{}] } # убираем пробелы и некоторые знаки препинания в конце строки $result[^result.match[[\s\n,:^;–-]+^$][]{}] # ставим троеточие $result[^result.match[\.*^$][]{...}] }