The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

[Perl] разбиение текста с длинными строками на фиксированные параграфы (perl text example script convert)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: perl, text, example, script, convert,  (найти похожие документы)
Date: Wed, 22 May 2002 00:25:01 +0400 From: Alan Long <[email protected]> Newsgroups: fido7.ru.perl Subject: [Perl] разбиение текста с длинными строками на фиксированные параграфы AL> Я решал подобную проблему, только мне приходилось резать на куски по AL> 250 символов ;-) Решил с помощью Text::Wrap. RP> покажи плиз скpиптик - 8<- - use Text::Wrap qw(wrap $columns); my $MaxLen = 251; #.... $columns = $MaxLen - 7; my @parts = wrap( '', '', $text ); $parts[0] .= '...'; $parts[$#parts] = '...' . $parts[$#parts]; if( $#parts > 2 ) { for( my $i = 1; $i < $#parts; $i++ ) { $parts[$i] = '...' . $parts[$i] . '...'; } } foreach ( @parts ) { send_message( $_ ); } - 8<- - В твоем случае $MaxLen изменить на 160 или на 161...
From: OpenNet Пример кода для резанья текста для почтовой рассылки: $formated_text = mc_line_wrap("Большая большая строка", 80); sub mc_line_wrap { my ($raw_text, $max_lines)=@_; my ($wrap_text, $line, $word, $tmp_line, $tmp_p_line); my ($max_lines); foreach $line (split(/\n/, $raw_text)){ chomp($line); if (length($line) <= $max_lines){ $wrap_text .= "$line\n"; } else { $tmp_line=""; $tmp_p_line=""; $p_word=""; foreach $word (split(/\s+/, $line)) { if (length($tmp_line) > $max_lines){ $tmp_p_line =~ s/^(.*[^\s]+)\s*$/$1/; $wrap_text .= "$tmp_p_line\n"; $tmp_line="$p_word $word "; $tmp_p_line="$p_word $word "; $p_word=""; } else { $tmp_p_line = $tmp_line; $p_word=$word; $tmp_line .= "$word "; } } if ($tmp_line ne ""){ $tmp_line =~ s/^(.*[^\s]+)\s*$/$1/; $wrap_text .= "$tmp_line\n"; } } } return $wrap_text; }

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру