Регулярка

Тема в разделе "PHP", создана пользователем LEXAlForpostl, 12 авг 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Здравствуйте.
    Помогите, пожалуйста, спарсить, значение тега option с атрибутом selected, т.е. необходимо получить t3.

     
  2. Graph33

    Graph33 Создатель

    Регистр.:
    4 авг 2010
    Сообщения:
    33
    Симпатии:
    0
    Ну как минимум
    /<option value='(.*?)' selected='selected'>/
     
  3. Digwnews

    Digwnews Читатель

    Заблокирован
    Регистр.:
    1 мар 2010
    Сообщения:
    127
    Симпатии:
    24
    /<option value='.*' selected='selected'>(.*?)<\/option>/
     
  4. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    PHP:
    preg_match_all('#<option.*?selected.*?>(.*?)<\/option>#s'$str$resPREG_PATTERN_ORDER);
     
  5. Acidrayne

    Acidrayne

    Регистр.:
    30 сен 2007
    Сообщения:
    296
    Симпатии:
    20
    помогите пожалуйста с регуляркой, а то уже все перепробывал не могу понять почему не хочет работать:( Вот кусок кода:

    HTML:
    <div class='top_money '>
    			<div class='money' id ='gold' >
    				<p>золото:</p>
    				<b>3.976</b>
    							</div>
    			<div class='money' id ='crystal' >
    				<p>кристаллы:</p>
    				<b>0</b>
    							</div>
    			<div class='money' id ='fish'>
    				<a href='harbour.php?a=change'></a>
    				<p>пирашки:</p>
    				<b>60</b>
    			</div>
    			<div class='money' id ='green'>
    				<a href='kormushka.php'></a>
    				<p>зелень:</p>
    				<b>0</b>
    			</div>
    Нужно вытянуть отсюда значения (цифру) Золота, кристалов, пирашек и зелени! Пишу регулярку:

    PHP:
    $gold "'#<p>золото:</p>([1-9]*)</b>#'";
    preg_match ($gold',$code, $res);
    Но на выходе получаю пустой массив так же и со всеми другими значениями :(
     
  6. Google.com

    Google.com Читатель

    Заблокирован
    Регистр.:
    16 фев 2010
    Сообщения:
    250
    Симпатии:
    295
    PHP:
    <?php
    $text
    ="<div class='top_money '>
                <div class='money' id ='gold' >
                    <p>золото:</p>
                    <b>3.976</b>
                                </div>
                <div class='money' id ='crystal' >
                    <p>кристаллы:</p>
                    <b>0</b>
                                </div>
                <div class='money' id ='fish'>
                    <a href='harbour.php?a=change'></a>
                    <p>пирашки:</p>
                    <b>60</b>
                </div>
                <div class='money' id ='green'>
                    <a href='kormushka.php'></a>
                    <p>зелень:</p>
                    <b>0</b>
                </div>"
    ;
    preg_match('/золото.*?<b>(.*?)<\/b>.*?кристаллы.*?<b>(.*?)<\/b>.*?пирашки.*?<b>(.*?)<\/b>.*?зелень.*?<b>(.*?)<\/b>.*?/ms'$text$bb);
    echo(
    $bb[1]."<br>".$bb[2]."<br>".$bb[3]."<br>".$bb[4]."<br>");
    ?>
     
    Acidrayne нравится это.
  7. salazkin

    salazkin Прохожие

    PHP:
    if (preg_match('%<option\s+value=\'([^\'].+)\'\s+selected=\'selected\'>([^<].+)</option>%'$subject$regs)) {
        
    $result1 $regs[1];// это то что в value;
        
    $result2 $regs[2];// это то что между > <

    } else {
        
    //не нашли ничего
    }
     
  8. olmi.little

    olmi.little Постоялец

    Регистр.:
    13 авг 2010
    Сообщения:
    52
    Симпатии:
    9
    Для быстрого составления регулярок можно использовать Regex Buddy - прога поможет составить нужную регулярку, и сразу покажет результат. Правда она только на английском.
     
Статус темы:
Закрыта.