Кодирую non-ASCII символы в заголовках отправляемого письма, чтобы текст приходил не белибердой в полях FROM, TO, SUBJECT
| Код | $t = "Hi all я тут по-русски write some текст";
use MIME::Base64; print &check($t);
sub check { my $c = shift; $c =~ s/([^\x00-\x7F]+)/&replace($1)/eg; return $c; } # sub
sub replace { my $a = shift; $a = MIME::Base64::encode($a,""); $a = "=?windows-1251?B?".$a."?="; return $a; } # sub
|
Норм работает, но обрабатывает отдельно каждое слово, т.е. получаю:
| Код | Hi all =?windows-1251?B?/w==?= =?windows-1251?B?8g==?= =?windows-1251?B?7g==?=-=?windows-1251?B?6A==?= write some =?windows-1251?B?8g==?=
|
Как бы его сделать, чтобы регулярка игнорировала 1 символ между non-ASCII символами, пробел, дефис, etc, чтобы кодировалось не отдельно каждое слово, а фразы.
Спасибо! |