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

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

Thread Status:
Not open for further replies.
  1. На100ящий

    На100ящий Elder - Старейшина

    Joined:
    9 Jan 2008
    Messages:
    43
    Likes Received:
    1
    Reputations:
    0
    <?php
    $text = '<a href="http://8">Привет</a>'; /* Есть вот эта строка
    $out = array();
    preg_match_all('|<a.* href=(.*)>(.*)</a>|U', $text, $out); Нужно получить слово "Привет" в массив и вывести это слово. Другими функциями не подойдёт, так как слово будет менятся, увеличиватся символы или уменьшатся..
    echo $out[1]; /*Выводит "Array"
    echo $out; /*Выводит "Array"
    ?>
    Помогите пожалуйста.
     
  2. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    PHP:
    <?php

        $text 
    '<a href="http://someurl">Привет</a>';

        if (
    preg_match('/<a.* href="(.*)"{0,1}>(.*)<\/a>/iU'$text$matches))
            print(
    $matches[2]);

    ?>
     
  3. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Ты используешь preg_match_all ... .А там $out[0][0]
    А вот у preg_match будет так $out[0]
     
  4. На100ящий

    На100ящий Elder - Старейшина

    Joined:
    9 Jan 2008
    Messages:
    43
    Likes Received:
    1
    Reputations:
    0
    А дайте ссылки где можно почитать про preg_match, чтоб доступно было???? очобенно про '/<a.* href="(.*)"{0,1}>(.*)<\/a>/iU'???????????
     
  5. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    http://www.php.net/manual/ru/index.php
     
  6. LolFEm

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

    Joined:
    8 Sep 2006
    Messages:
    160
    Likes Received:
    52
    Reputations:
    5
    это надо про регулярки читать

    http://www.phpfaq.ru/regexp
     
  7. На100ящий

    На100ящий Elder - Старейшина

    Joined:
    9 Jan 2008
    Messages:
    43
    Likes Received:
    1
    Reputations:
    0
    А если строка содержит несколько "<a href="http://8">Привет</a>", то как написать регулярку??? Потому что выводит первую встречную <a href, а мне надо или вторую или третью!!!????
     
  8. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    а циклом прогани и все
     
    1 person likes this.
  9. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    PHP:
    <?php
    $str
    ="<a href=\"http://8\">Привет</a><a href=\"http://8\">Привет2</a>    bla bla   \r\n   <a href=\"http://8\">Привет3</a>";

    preg_match_all("/<a href=\"(.+)\">(.+)<\/a>/isU",$str,$m);

    foreach(
    $m[2] as $s)
    {
      print 
    $s.'<br>';
    }
    ?>
     
    1 person likes this.
  10. bomber

    bomber New Member

    Joined:
    17 Mar 2008
    Messages:
    25
    Likes Received:
    1
    Reputations:
    0
    хм, пустые строки все равно остаются :confused:
     
  11. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    PHP:
    <?php
    $fp 
    fopen('file.txt''r'); 
    $w fopen('file_result.txt''a+'); 
    while(!
    feof($fp))

    $str fgets ($fp1024);
    if (
    trim($str) != '') {
    list(
    $a$b) = explode('|'$str); 
    fwrite($wtrim($a)."|".trim($b)."\n");
    }

    fclose($fp); 
    fclose($w); 
    ?>
    Так точно не будет.
     
  12. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    if (trim($str) != '')
    пиздец.......
     
  13. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Это не аргумент...
     
  14. bomber

    bomber New Member

    Joined:
    17 Mar 2008
    Messages:
    25
    Likes Received:
    1
    Reputations:
    0
    спасибо парни, чтоб я без вас делал :D
     
  15. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    нуко теперь расказывай как правильно надо кодировать.
     
  16. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    if (!empty($str)) 
     
  17. KindEcstasy

    KindEcstasy Banned

    Joined:
    30 Sep 2006
    Messages:
    105
    Likes Received:
    64
    Reputations:
    54
    Итак, вопрос к гуру 80ого порта:

    Какие поля в заголовке который отправляет (должен отправить) клиент, основные и самые важные. Что обязательно нужно скормить серверу, чтобы получить вменяемый заголовок-ответ? Мм? Только не нужно говорить что все, которые ты видишь в HTTP анализире ))) Полюбому они там все не нужны... Или я чёто не понимаю? Жду грамотного ответа!
     
    #3077 KindEcstasy, 13 May 2008
    Last edited: 13 May 2008
  18. pento

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

    Joined:
    3 Jul 2006
    Messages:
    126
    Likes Received:
    24
    Reputations:
    -1
    Можно сократить до
    PHP:
    if ($str) {
        
    // ...
    }
     
    #3078 pento, 14 May 2008
    Last edited: 14 May 2008
  19. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    По минимуму нужно отправить заголовки Host и Connection.

    PS. Проверил на mail.ru :)
     
    #3079 d_x, 14 May 2008
    Last edited: 14 May 2008
    1 person likes this.
  20. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    KindEcstasy, всё зависит от типа HTTP-запроса (GET, POST, HEAD, ...). Вообще для GET-запроса, как уже ответили минимально необходимы заголовки Connection и Host (чтобы определить к какому виртуальному хосту был осуществлён запрос). Для POST-запроса, минимально необходимы заголовки Connection, Host и Content-Length, но опять же - всё зависит от факторов, и того, что и как ты запрашиваешь.
     
Thread Status:
Not open for further replies.