Forum Webscript.Ru

Программирование => Perl => Тема начата: bismark2 от 23 Сентября 2004, 18:57:54

Название: Умный e-mail автоответчик
Отправлено: bismark2 от 23 Сентября 2004, 18:57:54
Все наверное знаете что есть умные автоответчики. Смысл их работы понятен. Вопрос как можно сделать, чтоба e-mail ввести в форму подписки латиницей а имя кирилицей. Англоязычные скрипты при попытке ввода имени на русском языке выдают сообщение об ошибке типа только буква, цыфры и пробел можно использовать для ввода имени. Кирилицу не понимает.
Название: Умный e-mail автоответчик
Отправлено: Forza от 23 Сентября 2004, 19:01:14
http://forums.webscript.ru/showthread.php?s=&threadid=18049&msgnum=2 не поможет?
Название: Умный e-mail автоответчик
Отправлено: bismark от 23 Сентября 2004, 22:49:45
Forza Нет это не о том. Тут в самой программе есть админ панель где можно сделать все настройки в том числе свои, подписчиков и т.д. но только воспринимает все изменения если ввод во все формы в том числе и на подписку осуществляется латинской раскладкой клавиатуры, при попытке ввести на кирилице выдает сообщение об ошибке. По другому нужно найти способ ввода данных по русски.
Название: Умный e-mail автоответчик
Отправлено: Forza от 23 Сентября 2004, 23:01:56
Так что тебе мешает написать простенькую программку, которая будет перекодировать кириллицу в набор латинских букв, цифр и знаков препинания, а потом копировать этот набор (пусть даже вручную) в поля формы?[OFF]Или я до чего-то не догоняю?[/OFF]
Получатель е-мэйла получит нормальную кириллицу.
Хотя
Цитировать
bismark2:
типа только буква, цыфры и пробел можно использовать для ввода имени

Т.е. нельзя использовать "равно" и вопросительный знак? Тогда мой совет никак не подойдёт.
Название: Умный e-mail автоответчик
Отправлено: bismark от 23 Сентября 2004, 23:44:49
Сам текст набиваю по русски проблем нет но толь пытаюсь сохранить результат выдает
"can only contain letters, digits and spaces"
из скрипта проверки
Название: Умный e-mail автоответчик
Отправлено: Green Kakadu от 24 Сентября 2004, 00:16:28
вообще надо посмотреть - как там осуществляется проверка полей.
тогда и сказать что-то можно будет.
Название: Умный e-mail автоответчик
Отправлено: bismark от 24 Сентября 2004, 06:50:22
Фрагмент
sub IsAlphaNumeric {
    my($textin) = @_;

    if ($textin =~ /[^a-zA-Z0-9]/) {
        return 0;
    } # if
    else {
        return 1;
    } # else
} # sub IsAlphaNumeric

sub IsAlphaNumericAndSpaces {
    my($textin) = @_;

    if ($textin =~ /[^a-zA-Z_0-9\\ ]/) {
        return 0;
    } # if
    else {
        return 1;
    } # else
} # sub IsAlphaNumericAndSpaces

sub IsAlphaNumericAndSpacesAndExtraChars {
    my($textin) = @_;

    if ($textin =~ /[^a-zA-Z_.:!-?Ј,{}*\\$&0-9\\ ]/) {
        return 0;
    } # if
    else {
        return 1;
    } # else
} # sub IsAlphaNumericAndSpacesAndExtraChars

sub IsValidEmailAddress {
    my($email) = @_;
    my($result);

    unless ($email =~ /(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)|(,)/
     || $email !~
     /^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$/) {
        $result = 1;
    } # unless
    else {
        $result = 0;
    } # else

    if ($email =~ s/\\s//g) {
        $result = 0;
    } # if

    return $result;
} # sub IsValidEmail
Название: Умный e-mail автоответчик
Отправлено: bismark от 24 Сентября 2004, 07:12:51
Как работает этот скрипт можно посмотреть по ссылке http://www.autoresponseplus.com/cgi-bin/arp3test/arp3.pl

Попробуйте ввести имя на латинице а потом на кирилице
Название: Умный e-mail автоответчик
Отправлено: Green Kakadu от 24 Сентября 2004, 12:00:41
в начеле скрипта прописать
use locale;
потом в sub IsAlphaNumericAndSpaces  это:
$textin =~ /[^a-zA-Z_0-9\\ ]/
поменять на это
$textin =~ /[^\\w0-9\\ ]/

а в  IsAlphaNumericAndSpacesAndExtraChars это
$textin =~ /[^a-zA-Z_.:!-?Ј,{}*\\$&0-9\\ ]/
на это :
$textin =~ /[^\\w.:!-?Ј,{}*\\$&0-9\\ ]/
Название: Умный e-mail автоответчик
Отправлено: Forza от 24 Сентября 2004, 13:06:31
bismark, я всё-таки думаю, что раз скрипт изначально хотел работать только с латиницей, а сейчас ему, поковырявшись в регулярных выражениях, начать подсовывать кириллицу, он всё-таки не будет правильно с ней работать: т.е. он не будет её кодировать, будет просто в "голом" виде её класть в SMTP-поля, и то, как это будет воспринимать почтовый клиент получателя письма, есть тайна.
Название: Умный e-mail автоответчик
Отправлено: Green Kakadu от 24 Сентября 2004, 14:19:45
Forza - экспериментальным путем проверит :)
согласен, латиница тут уместнее
Название: Умный e-mail автоответчик
Отправлено: bismark от 24 Сентября 2004, 20:03:40
Пробовал ввести изменения результат тотже
Название: Умный e-mail автоответчик
Отправлено: Green Kakadu от 27 Сентября 2004, 13:11:02
2bismark или локаль не включил или для поля name там своя проверка, как для мейла :)
Название: Умный e-mail автоответчик
Отправлено: bismark от 27 Сентября 2004, 13:42:18
Так что же тогда можно попытаться сделать, как убрать эту проверку или как ввести туда диапазон кирилицы и какой он
Название: Умный e-mail автоответчик
Отправлено: bismark от 27 Сентября 2004, 13:43:20
Может быть есть готовые решения