Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Oleg 16.11.2004 20:24 / 16.11.2004 20:27
@main[] $result[^string_drobilka[Это строка которую будем дробить на более короткие строки длинной по двадцать символов, надеюсь вам пригодится. Слова с большим количеством символов дробиться небудут, а будут занимать строку целиком. например лфдыорадфоыврафлдоыравылфдравдфыолавр. И ещё, чуть не забыл, когда будете считать символы незабывайте считать перевод строки как один символ;20;<br/> ]] # разбиение строки на строки с определённым количеством символов # Вызывать следующим образом # ^string_drobilka[строка которую требуется разбить на строки;требуемое количество символов в строке;символ перевода строки по умолчанию энтер] @string_drobilka[str;symvols_in_string;perevod_stroki] ^if(!def $perevod_stroki){$perevod_stroki[ ]} # разбираем полученную строку на слова $parts[^str.split[ ;v]] # Обнуляем счётчик $counter(0) # Очищаем строку $out_string # перебираем полученную таблицу ^parts.menu{ # Сохраняем строку в переменную чтобы можно было посчитать количество символов в переменной $str_tmp[$parts.piece] # Считаем количество символов в переменной $num_symvols(^str_tmp.length[]) # Считаем количество символов в строке где 1 - пробел $counter($counter+(1+$num_symvols)) # Если количество символов не болше определённого то добавляем слово к строке, если больше то обнуляем счётчик прибавляем к нему количество символов последнего слова, ставим перевод строки и вставляем слово ^if($counter > $symvols_in_string){ ^if($counter == ($num_symvols+1)){ # Вставляем слово несмотря на то что оно больше заданного лимита, а заним перевод строки $out_string[${out_string}$parts.piece^if(def $out_string){$perevod_stroki}] # Обнуляем счётчик тк начинаем новую строку $counter[0] }{ # Вставляем перевод стоки, а затем слово $out_string[${out_string}^if(def $out_string){$perevod_stroki}$parts.piece] # Меняем значение счётчика тк начинаем новую строку $counter($num_symvols+1) } }{ # Вставляем пробел и слово $out_string[$out_string^if(def $out_string){ }$parts.piece] } } # Выводим результат $result[$out_string]