简单的HTML DOM标记选择问题

时间:2016-06-22 07:25:51

标签: php html dom

我有这个HTML:

  <div class="price" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        <small class="old-price">Stara cena: 1.890 RSD</small>
        <span>Ušteda: <strong>1.000 RSD</strong></span>
        <h5>890 <em>RSD</em>    
             <div class="tooltip"><p>Cene sa popustom uz gotovinsko plaćanje za online porudžbine</p></div>
        </h5>
        <span style="display:none" itemprop="priceCurrency" content="RSD"></span>
        <span itemprop="price" content="890.00"></span>
    </div>

我正在从这样的标签中收集价格:

foreach($html->find('span[itemprop=price]')  as $element) {
     $niz['price'][] = $element->content;
}

现在我需要从小标签中收集文本(如果它不存在,那么我需要在数组中使用空字符串):<small class="old-price">Stara cena: 1.890 RSD</small>

所以我需要这样的东西:

if($html->find('small[class=old-price]',0))
{
    $niz['oldprice'][] = $element->innertext;
}else{
    $niz['oldprice'][] = '';
}

问题是我只从数组中的class = old-price获得元素而不是单个空字符串。

任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:1)

您好,请使用代码

foreach($html->find('small[class=old-price]')  as $element) {
    if($element->plaintext)
    {
         $niz['oldprice'][] = $element->plaintext;
    }else{
         $niz['oldprice'][] = '';
    }
}