[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18

    ругаеться на

    $emails = preg_replace($pattern, reput2($1.$2.$3),$str_t);


    ну желательно сегодня вечером - ночью .... спаммеры охренели вообще.. спасибо за помощь... если что буду сам ковырять..


    я щас брейками пройдусь может он емайл не определяет ?..


    Вообщем он выводит в переменные $1 $2 $3 без всякого... т.е емайла там нет. а переменные $1 $2 $3 выводит как есть
     
    #18501 Adio, 23 May 2011
    Last edited: 23 May 2011
  2. Skofield

    Skofield Elder - Старейшина

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    390
    Reputations:
    58
    Adio,
    В РНР переменные начинаются со знака доллара ($), за которым может следовать любое количество буквенно-цифровых символов и символов подчеркивания, но первый символ не может быть цифрой.
     
  3. OnlyOn

    OnlyOn Banned

    Joined:
    18 Oct 2010
    Messages:
    252
    Likes Received:
    89
    Reputations:
    36
    Это и дурак знает, но в preg_replace совпадения если я припоминаю правильно чередуются $1,$2...
     
  4. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Вроде задача бональная, но столько шуму.. сижу ковыряю бо не силен в пхп...
     
  5. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Зачем делать длинный и утомительный код, если можно проще?

    PHP:
    <?php
    function emailEncode($email)
    {
     for(
    $i 0$i strlen($email); $i++)
       @
    $res .= '&#' ord($email[$i]) . ';';
     return 
    $res;
    }

    $text 'Привет всем! Это тестовый скрипт! [email protected] <a href="mailto:[email protected]">[email protected]</a>';

    $text preg_replace('/[a-z0-9_.-]+@[a-z0-9.-]+\.[a-z]{2,4}/e''emailEncode("$0")'$text);

    echo 
    $text;
    ?>
     
    1 person likes this.
  6. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18

    он не работает :)

    Извеняюсь, работает : )

    Спасибо.

    Вопрос, он все емайлы в теле сообщение будет так шифровать ? ибо в том скрипте что выше там 3 вида емайлов как бы шифровал.

    Спасибо большое
     
    #18506 Adio, 23 May 2011
    Last edited: 23 May 2011
  7. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Все отлично работает. Возможно, ты не туда смотришь. Посмотри в исходники HTML-странички... В браузере тебе отображается уже интерпритированный код.

    ...
    Он шифруёт всё, что попадает под регулярку
    PHP:
    [a-z0-9_.-]+@[a-z0-9.-]+\.[a-z]{2,4}
     
    #18507 mailbrush, 23 May 2011
    Last edited: 23 May 2011
  8. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Грациес ! - за пояснение.
     
  9. DrDastan

    DrDastan New Member

    Joined:
    13 Mar 2011
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Где это поставить, подскажи пожалуйста.
     
  10. Timon132009

    Timon132009 Member

    Joined:
    7 Jun 2009
    Messages:
    137
    Likes Received:
    19
    Reputations:
    0
    В php скрипте.
     
  11. retea777

    retea777 New Member

    Joined:
    18 May 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Хочу самостоятельно выучить писать на PHP, с чего начать, мне HTML нужно тоже? Подскажите прогу для написания кода. Всем спасибо большое.
     
  12. Lindows

    Lindows Member

    Joined:
    2 Nov 2009
    Messages:
    11
    Likes Received:
    11
    Reputations:
    7
    Скачать книгу и учиться. Лично я учился по курсам Попова, ну и потом переучивался на форумах по данной тематике. HTML желательно знать =) Ну а прог море. Dreamviewer, PHPDesigner, Notepad и т.д.
     
  13. retea777

    retea777 New Member

    Joined:
    18 May 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0

    Спасибо я тоже смотрю щас Попова :)
     
  14. Lindows

    Lindows Member

    Joined:
    2 Nov 2009
    Messages:
    11
    Likes Received:
    11
    Reputations:
    7
    Значит придется переучиваться моментами =)
     
  15. OnlyOn

    OnlyOn Banned

    Joined:
    18 Oct 2010
    Messages:
    252
    Likes Received:
    89
    Reputations:
    36
    Сразу видно - человек со стажем =) Я вот в регулярках не силен вообще.
    Вечно с парсерами проблемма.

    Нужен скрипт который будет заменять все ссылки с http:// и без, кроме ссылки на site.ru на ссылки site.ru/?r=$site
    где $site - бывшая ссылка
     
  16. dokwill

    dokwill New Member

    Joined:
    25 Jun 2007
    Messages:
    21
    Likes Received:
    1
    Reputations:
    0
    скрипт пересчета

    Прошу помощи.
    Скрипт пересчета значений
    исходник в файле in.txt - 100 строк ( числа)
    надо пересчитать и записать в result.txt

    на данный момент он пересчитывает только первое число в списке
    в чем ошибка - не могу разобрать

    Не кидайтесь - только учусь

    <?
    touch('result.txt'); //создал файл
    $res = fopen ('result.txt',"r+"); //отркыл на запись
    $a_ = fopen ('in.txt',"r"); // открыл файлы на чтение
    $a = fread ($a_,10); // считал значение переменных


    //вычисления
    if ($a <= 500) $max=15000;
    if ($a <= 999) $max=22000;
    if ($a <= 1500) $max=25000;
    if ($a <= 2000) $max=30000;
    if ($a <= 2500) $max=35000;
    if ($a <= 3000) $max=40000;
    if ($a <= 3500) $max=45000;
    if ($a <= 4000) $max=50000;
    if ($a <= 4500) $max=55000;
    if ($a <= 5000) $max=60000;
    if ($a <= 5500) $max=65000;
    if ($a <= 6000) $max=67000;
    //вычисления

    fputs ($res,"$max"); // записал в файл

    fclose($res);
    fclose($a_);// и не забыл позакрывать файлы

    print done

    ?>
     
  17. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Для того, чтобы считать все строки файла в массив, надо использовать file. А функция touch не предназначена для создания файла. И да, у тебя какой-то алгоритм пересчета нерациональный. Обьясни, что должен делать твой скрипт, как именно пересчитывать?
     
  18. dokwill

    dokwill New Member

    Joined:
    25 Jun 2007
    Messages:
    21
    Likes Received:
    1
    Reputations:
    0
    тем не менее result создается и туда пишется пересчитанное первое значение из файла


    в исходном файле - 100 строк с числами

    если значение числа 0т 0-500
    то присваивается значение 15000
    от 500-1000 - присваивается 25000
    и тд
     
  19. OnlyOn

    OnlyOn Banned

    Joined:
    18 Oct 2010
    Messages:
    252
    Likes Received:
    89
    Reputations:
    36
    $file = file("in.txt");
    while (!feof($file)) {
    сюда вставляешь сравнение кода и запись строчки в файл
    }
     
    #18519 OnlyOn, 24 May 2011
    Last edited: 24 May 2011
  20. dokwill

    dokwill New Member

    Joined:
    25 Jun 2007
    Messages:
    21
    Likes Received:
    1
    Reputations:
    0
    можно чуть подробнее
    никак не получается собрать все воедино
     
Thread Status:
Not open for further replies.