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

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

Thread Status:
Not open for further replies.
  1. !{ra!{e/\/

    !{ra!{e/\/ Banned

    Joined:
    27 Aug 2007
    Messages:
    98
    Likes Received:
    50
    Reputations:
    3
    Code:
    <option value="aam_katalog.pl?action=kfzsearchresults&lang=en&hs=1&md=232">145 (930)</option>
    а как собрать отсюда это
    Code:
    aam_katalog.pl?action=kfzsearchresults&lang=en&hs=1&md=232
    какое регулярное выражение нужно?
     
  2. Red_Red1

    Red_Red1 Banned

    Joined:
    12 Jan 2007
    Messages:
    246
    Likes Received:
    258
    Reputations:
    83
    Можно вот так $pattern='<option value=\"(\S+)\"'
    или даже $pattern='\"(\S+)\"'

    Вот тебе конструктор http://www.pcre.ru/eval/
    пробуй, я тут собирал регулярки которые привел.
     
    3 people like this.
  3. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    PHP:
    #<option\s+value=\"([^\"]+)\">[^<]+</option>#
     
    1 person likes this.
  4. Shadow_p1raT

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

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    У меня есть строка:
    Code:
    Давление 701 мм рт ст Температура  +21 °c Ветер Северный (340°), 1 м/с Влажность 49% Облачность 90% Явления Нет
    
    Как сделать что бы было так:
    Code:
    Давление 701 мм рт ст
    Температура  +21 °C
    Ветер Северный (340°), 1 м/с
    Влажность 49%
    Облачность 90%
    Явления Нет
    
     
  5. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Лучше бы в исходной строке был разделитель какой-нить для простоты, а так попробуй это (строка имеет фиксированную структуру)
    PHP:
    <?php
      $str 
    "Давление 701 мм рт ст Температура  +21 °c Ветер Северный (340°), 1 м/с Влажность 49% Облачность 90% Явления Нет";
      
    $str preg_replace ("/\s+/"" "$str);
      
    $arr explode (' '$str);
      
    $cnt count ($arr);
      for (
    $i 0$i $cnt$i++)
        if (
    $i == || $i == || $i == 13 || $i == 15 || $i == 17)
          echo 
    "\n$arr[$i] ";
        else
          echo 
    "$arr[$i] ";
      echo 
    "\n";
    ?>
     
    1 person likes this.
  6. Shadow_p1raT

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

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    Не помогло,но всё равно спс.
     
  7. PHPoozy

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

    Joined:
    1 Jul 2008
    Messages:
    149
    Likes Received:
    31
    Reputations:
    -22
    пожалуйста помогите написать бот для народ.ру
    сколько раз пытался но все равно не получается
    плиз хелп ми :-(
     
  8. Shadow_p1raT

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

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    Какой именно бот ты хочешь написать?
     
  9. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Shadow_p1raT, А если регуляркой?
    PHP:
    <?php
      $str 
    "Давление 701 мм рт ст Температура  -21 °c Ветер Северный (340°), 1 м/с Влажность 49% Облачность 90% Явления Нет";
      
    preg_match('/(Давление [0-9]+ мм рт ст).*(Температура  [+|-]{1,1}[0-9]+ °c).*(Ветер Северный \([0-9]+°\), [1-9]+ м\/с).*(Влажность [0-9]+\%).*(Облачность [0-9]+\%).*(Явления .*)/i',$str,$out);
      
    $out[0]='';
      echo 
    implode('<br>',$out);  
    ?>
     
    _________________________
    2 people like this.
  10. Shadow_p1raT

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

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    блин,не подумал.Gifts спс.
     
  11. PHPoozy

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

    Joined:
    1 Jul 2008
    Messages:
    149
    Likes Received:
    31
    Reputations:
    -22
    обычный чат-бот главное что бы работал
     
  12. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    PHPoozy, народ.ру не поддерживает ПХП скрипты. Ищите другой хостинг. А по вашему вопросу - скачайте какой нить стандартный чат - просто так вам с нуля никто писать не будет.
     
    _________________________
  13. PHPoozy

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

    Joined:
    1 Jul 2008
    Messages:
    149
    Likes Received:
    31
    Reputations:
    -22
    Gifts вы меня не поняли насчет хостинга у меня есть платный ну кто поможет?
     
  14. zythar

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

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    ну дак найди исходники простого бота сначала, потом в этом боте поменяй кое что и подогни под себя. тут впринципе знание языка не критично. нуно просто мозгами пошевелить
     
  15. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Вопрос такой:

    у меня есть файл с настройками. Пишу админку. Нужна функция изменения параметров.

    Файл настроек:
    PHP:
    //*************DataBase********************/
    $dbhost 'localhost';    // DataBase host
    $dbuser 'root';        // DataBase user
    $dbpass '';            // DataBase pass
    $db     'aaa';        // DataBase name
    /*****************************************/
    Еще много чего...
    Как реализвать чтобы у меня файл не перезаписывался, а изменялись только те строки, где было применено измменение?
    Спасибо.
     
  16. bxN5

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

    Joined:
    8 Jan 2006
    Messages:
    687
    Likes Received:
    138
    Reputations:
    32
    что то я не понял толком что ты хочешь, ну реализуй класс и используй нужные методы потом
     
  17. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    ChaaK
    Вынеси настройки в конфиг типа
    А к файлу конфига обращайся, через методы класса "конфиг"

    пс файл конфиг может и так выглядеть
    Тогда проще находить определенный элемент(а также изменять его)
    Можно и сеарилизовывать массив, но это уже имхо перебор(правда так легко изменять данные)

    А вообще такие все настройки должны храниться в файле формата .xml, это почти идеальный вариант, так ими легко манипулировать
    А изменять и получать значения, как я уже говорил нужно через методы класса "конфиг"
     
    #3817 Naydav, 2 Jul 2008
    Last edited: 2 Jul 2008
  18. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    вот наглядный пример из моей админки, файл site.config

    PHP:

    <?
        class object { };

        $CFG = new object();
        $CFG->siterootid=1;
        $CFG->encoding = "windows-1251";
        $CFG->use_cache = false;
        $CFG->cache_expire_time = 3600;
        $CFG->dir_perms = 0755;
        $CFG->file_perms = 0644;
        $CFG->moduleUploadDir = '/module_upload/';
    ?>
    правда я щас только читаю о классах но помоему этого достаточно чтобы его создать
     
  19. Кубик Рубик

    Joined:
    10 Apr 2008
    Messages:
    48
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте! Суть проблемы состоит в этом:
    Допустим у нас есть скрипт:
    Code:
    <html> 
    <head> 
    <title> Проверка формуляра </title> 
    </head> 
    <body> 
    <center> 
    <?php 
    echo "Вас зовут ".$_POST['Name']; 
    if (!$_POST['Name']) { echo "<br>Заполните форму!"; } ?> 
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
    <input type="text" size="10" name="Name"> 
    <input type="submit" value="запрос!"> 
    </form>
     </center> 
    </body> 
    </html>
    
    Из него видно, что при вводе в форму вашего имени скрипт пишет "Вас зовут, ИМЯ".
    Так же стоит проверка формы на заполнение, т.е. если форма пуста скрипт отвечает нам "Заполните форму!".
    Проблема состоит в том, что сразу после открытия скрипта он уже упрекает пользователя в том, что он не заполнил форму, да и в добавок выполняет первую строку скрипта (короче вообще весь php код выполняет).
    Как сделать так чтобы вся работа скрипта отображалась после нажатия кнопки? :confused: :confused:
     
  20. zythar

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

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    PHP:
    <?php 
    if (!$_POST['Name']) { 
    echo 
    "<br>Заполните форму!"
    } else {
    echo 
    "Вас зовут ".$_POST['Name']; 
    };
    ?> 
    так вроде?
     
Thread Status:
Not open for further replies.