2014-12-10 6 views
-1

Я пытаюсь получить содержимое из HTML-тегиПолучить содержимое из HTML-теги

function get_model($html){ 
    return preg_match('!<b>Model:</b>(.*?)<br>!i', $html, $matches) ? $matches[1] : ''; 
} 

Но, она возвращает «» строка. Весь HTML код выглядит следующим образом:

<div class="prodInfo"> 


    <div class="prodOptions"> 
     <div class="redBtn"> 
      <a href="#" class="minusCart">-</a> 
      <input type="text" class="tnyTxt" value="1" name="quantity"/> 
      <a href="#" class="plusCart">+</a> 
     </div> 
     <br/> 



     <a href="/0-30cb9a-adjustable-pan-connector-p-mw555" 
      onclick="addToCart(139, $('.tnyTxt').val()); return false;" class="redBtn" 
      id="button-cart">Add to Cart</a> 
    </div> 

<p> 
    <b>Our Price: <span class="price">£5.55</span></b><br/> 

      <span class="grey"> 
        (Exc. 20% VAT)<br/> 
        (£6.66 Inc. VAT) 
       </span> 
    </p> 

<p> 
    <b>Model:</b> MW555<br/> 
    <b>Availability:</b> 2 - 3 Days</p> 


</div> 

Я не совсем понимаю, почему это происходит? даже если я пишу preg_match('!<b>Model:</b>), он также возвращает пустой результат. Не могли бы вы мне помочь, пожалуйста?

+0

вы должны использовать HTML-парсер здесь вместо – Ghost

ответ

1

Используйте этот PHP Simple HTML DOM Parser.
Этот вопрос также продублировать: -

  1. How parse HTML in PHP?
+0

Спасибо! Это очень просто! Это сэкономит мне много времени, вместо этого, используя регулярные выражения) – volodymyr3131

0

Я предпочитаю использовать phpQuery для этой работы.