Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Помогите составить регулярку


Автор: ZneP 10.6.2011, 11:22
Добрый день!

Есть html-код примерного содержания:
Код

<html>
<body>
<div class="content">
  <div class="item ... ... ..." id="...">
    <div class="item__desc">
      <div class="item__bcrumbs"><a href="..."><b>...</b></a></div>
      <h3 class="item__title">
        <a href="..." class="item__name ...">(<b>...</b>...)</a>
        <span class="... ... ..." title="...">(...)</span>
        <a class="shop-link ...">(...)</a>
      </h3>
      <div class="item__price">
        <span class="prices"><span class="prices__num">(11 1111 11)</span><span class="prices__currency">...</span></span>
      </div>
      <div class="item__delivery">
        <span class="more">...</span>
        (...)
      </div>
    </div>
  </div>

  <div class="item ... ... ..." id="...">
    ...
  </div>

  <div class="item ... ... ..." id="...">
    ...
  </div>

  ...
</div>

(...) - то что нужно выбрать
... - любой символ, .*

Автор: patap 10.6.2011, 12:41
Код

$reg = '#<h3 class="item__title".*?<a href.*?>(.*?)</a>.*?<span.*?>(.*?)</span>.*?<a.*?>(.*?)</a>.*?<span class="prices__num">(.*?)</span>.*?<div class="item__delivery">.*?<span class="more">.*?</span>(.*?)</div>#si';
    preg_match($reg, $text, $match);
    
    print_r($match);


только на счет этого куска не уверен:
Код

<div class="item__delivery">
        <span class="more">...</span>
        (...)
      </div>

если там в скобках будет </div> то выражение поведет себя неправильно

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)