Проблема с циклом foreach

Discussion in 'PHP' started by Foster, 18 Sep 2011.

  1. Foster

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

    Joined:
    14 Jul 2005
    Messages:
    80
    Likes Received:
    9
    Reputations:
    2
    Вырезка из кода
    PHP:
    sort($sonic_name);
    foreach(
    $sonic_name as $k => $v)
    {
         
    preg_match("#http://ul.to/.+/$v#"$ul_file,$new_link_ul);
         
    print_r($new_link_ul);  
    }
    Переменная $sonic_name содержит однамерный массив из 4 разных значений

    Array
    (
    [0] => Loni.Evans_YPH_Styanulo.Net.part1.rar
    [1] => Loni.Evans_YPH_Styanulo.Net.part2.rar
    [2] => Loni.Evans_YPH_Styanulo.Net.part3.rar
    [3] => Loni.Evans_YPH_Styanulo.Net.part4.rar
    )


    Переменная $ul_file содержит список ссылок из файла, прочтенных с помощью $ul_file=file_get_contents("./ul.txt");

    Ниже отрывок этого файла
    http://ul.to/9tiqhmq9/DB.Banquet.Hall.Fuck.Fest_epidemz.net_styanulo.net_hidefporn.ws.part1.rar
    http://ul.to/l2xhm3su/Loni.Evans_YPH_Styanulo.Net.part2.rar
    http://ul.to/y93nxqey/Loni.Evans_YPH_Styanulo.Net.part3.rar
    http://ul.to/es2j5gwd/Loni.Evans_YPH_Styanulo.Net.part1.rar
    http://ul.to/g6lr07he/ca.francheska.720p_Epidemz.net_Asiuta.com_Styanulo.net.part3.rar


    Скрипт работает не коректно, мне нужно что бы preg_match находил все 4(в данном конкретном случае) совпадения из $sonic_name. В моем же случае я получаю следующий результат:
    Array
    (
    )
    Array
    (
    )
    Array
    (
    [0] => http://ul.to/y93nxqey/Loni.Evans_YPH_Styanulo.Net.part3.rar
    )
    Array
    (
    )


    Еси же в
    PHP:
    preg_match("#http://ul.to/.+/$v#"$ul_file,$new_link_ul);
    вместо $v вручную вставить например Loni.Evans_YPH_Styanulo.Net.part2.rar то он без труда найдет совпадение.
     
    #1 Foster, 18 Sep 2011
    Last edited: 18 Sep 2011
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Foster во-первых - http://php.net/preg_quote, во-вторых, включите вывод всех переменных внутри цикла, в том числе $ul_file, в-третьих, используйте var_dump для вывода, возможно в переменных затесались непечатные символы
     
    _________________________
    1 person likes this.
  3. Foster

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

    Joined:
    14 Jul 2005
    Messages:
    80
    Likes Received:
    9
    Reputations:
    2

    И правда, элементы массива $sonic_name содержали символы перевода строки. Решением было принято обработать каждый элемент массива при помощи функции trim.
    PHP:
    $v=preg_quote(trim($v));
    Большое спасибо за помощь!

    + в репу
     
Loading...
Similar Threads - Проблема циклом foreach
  1. nike495
    Replies:
    3
    Views:
    1,848
  2. Octavian
    Replies:
    4
    Views:
    5,619
  3. Vikorair
    Replies:
    0
    Views:
    1,953
  4. SpRyt
    Replies:
    1
    Views:
    1,619