За последние 24 часа нас посетил 42571 программист и 1813 роботов. Сейчас ищут 1829 программистов ...

помогите составить регулярку

Тема в разделе "PHP для новичков", создана пользователем rozmakc, 18 дек 2014.

  1. rozmakc

    rozmakc Новичок

    С нами с:
    6 июл 2014
    Сообщения:
    17
    Симпатии:
    0
    подскажите как вытащить весь текст между <h2>тур 1</h2> и <h2>тур 2</h2>

    Код (Text):
    1.  
    2. preg_match_all('/(?<=<h2>тур 1<\/h2>)(.+?)(?=<h2>тур 2)/',$str,$matches);
    3.  
    4. echo '<pre>';
    5. print_r($matches);
    6. echo '</pre>';
    выдает Array ( [0] => Array ( ) [1] => Array ( ) )

    подскажите чайнику плиз
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    приведите пример входной строки и что там нужно вытащить. чтобы был предметный разговор.
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Если не стоит задача, использовать только регулярные выражения, то можно через DOM получить данные http://simplehtmldom.sourceforge.net/
     
  4. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    вроде как.
     
  5. rozmakc

    rozmakc Новичок

    С нами с:
    6 июл 2014
    Сообщения:
    17
    Симпатии:
    0
    спасибо, разобрался, сделал так:

    Добавлено спустя 12 минут 14 секунд:
    теперь возник вопрос, не по этой теме, как данные из цикла передать в обработчик формы, а именно:
    цикл выводит из базы данные и инпуты, у кадого инпута должен быть свой name, и потом в обработчике надо сообразить откуда инпут ))))например:

    вывод цикла:
    и не могу сообразить как мне присвоить нужные значения переменным

    $a1= team1 $c;
    $a2= team2 $c;

    $a3= team1 $c;
    $a4= team2 $c;

    $a5= team1 $c;
    $a6= team2 $c;

    причем таких инпутов может быть 10 или 240 ))) а ввести пользователь может не в каждый а как захочет...
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Нужно больше подробностей, мало что понятно
     
  7. rozmakc

    rozmakc Новичок

    С нами с:
    6 июл 2014
    Сообщения:
    17
    Симпатии:
    0
    цикл выводит матчи и инпут текст к каждой команде, то есть получается много инпутов )
    нуно чтобы по нажатию кнопки все инпуты пошли в обработчик, причем нужно знать какой откуда

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

    если в нэйм инпута добавить айди матча, то как потом записать в переменную...
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Давай сюда html пример, и уже по нему подскажем
     
  9. rozmakc

    rozmakc Новичок

    С нами с:
    6 июл 2014
    Сообщения:
    17
    Симпатии:
    0
    на код не ругайтесь я на начальных уровнях в php только)))
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Какой хочешь результат получить? Напиши пример array на выходе
     
  11. rozmakc

    rozmakc Новичок

    С нами с:
    6 июл 2014
    Сообщения:
    17
    Симпатии:
    0
    мне нужно вбить в базу ответ пользователя вида:
    gameid (передается в хидден)
    team1 - число (название команды1 и сколько ввел в инпут)
    team2 - число (название команды2 и сколько ввел в инпут)

    в базу должен уйти результат например:
    чтобы стало понятнее, занимаюсь созданием простого сайта прогнозов на матчи в футбольном онлайн менеджере

    сейчас в цикле выводится форма (то есть с каждым матчем своя форма), хочу сделать удобнее и чтобы одна форма на все матчи.
     
  12. rozmakc

    rozmakc Новичок

    С нами с:
    6 июл 2014
    Сообщения:
    17
    Симпатии:
    0
  13. iNEEdhLw

    iNEEdhLw Новичок

    С нами с:
    22 окт 2014
    Сообщения:
    414
    Симпатии:
    0
    я не понял твою задачу и я тоже ньюби, но мне интересны эти моменты:
    1.
    Код (Text):
    1. while($data = $db->FetchArray()) // у тебя идет присваивание, а не сравнение, должно быть "=="
    2.
    Код (Text):
    1. <input type="hidden" name="tur" value="'.$turs.'"/>
    2. <input type="hidden" name="tm1" value="'.$team1.'"/>
    3. <input type="hidden" name="tm2" value="'.$team2.'"/>
    4. <input type="hidden" name="gameid" value="'.$gameid.'"/>
    зачем ты конкатенацию используешь, разве там нельзя просто вставлять имена переменных? я так, чисто теоретически рассуждаю)
    3.у тебя атрибут "action" пуст.
     
  14. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    rozmakc, прочитай свежую книгу по php и mysql. Там описаны основы.
     
  15. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    iNEEdhLw, стыд и позор.
    1. вайл работает до тех пор пока истинно условие цикла. фетчэррей возвращает строку пока не достигнет конца результата. тогда оно вернет FALSE. и по этому фолсу совершится выход из цикла. то есть до этого там были массив-массив-массив а потом вдруг фолс. для итератора это трю-трю-трю-фолс.
    2. конкатенацию он использует чтоб создать огромный текст перед выводом. вместо переменных будут подставлены их значения. впрочем любой знающий программист не будет делать конкатенацю при использовании конструкции эхо.
    3. пустой атрибут экшн приводит к отправке формы по текущему адресу.

    учи матчасть.
     
  16. iNEEdhLw

    iNEEdhLw Новичок

    С нами с:
    22 окт 2014
    Сообщения:
    414
    Симпатии:
    0
    да, действительно с вайлом протупил.
    спасибо за пояснения)
     
  17. rozmakc

    rozmakc Новичок

    С нами с:
    6 июл 2014
    Сообщения:
    17
    Симпатии:
    0
    подскажите тогда как цикл foreach сделать так чтобы по два раза не повторялся:
    выход из ситуации придумал такой:

    циклом вайл выводятся инфа и формы с инпутами из базы, дальше надо инпуты обработать и внести в бд

    Код (Text):
    1.        
    2.         foreach($_POST['id'] as $id){
    3.                
    4.                     foreach($_POST['kollvo'] as $kolvo){
    5.                    
    6.                     echo $id.' - '.$kolvo.'<br>';  ///(по идее здесь инсерт должен быть)
    7.                    
    8.                     }
    9.                    
    10.                 }
    только он два раза повторяется, как это исправить?