2015-10-16 106 views
-2

我應該從這個網站得到價格,在這裏我正在使用PHP正則表達式和cUrl來獲取。PHP正則表達式結果錯誤

URL ='http://www.shopclues.com/lenovo-a526-with-1-year-physical-liquid-damage-cover-plus-insurance-refurbished.html';

$shopclues = get_page($url); 
if(preg_match('#<div class="price"><label>Deal Price:</label>(.*?)<\/div>#is', $shopclues,$b)) { 
      $data['price'] = (float) str_replace(array(','),'',$b[1]); 
     } 
     elseif(preg_match('#<span id="sec_discounted_price_5713954">(.*?)<\/span><\/div>#is', $shopclues,$a)) 
     { 
    $data['price'] = (float) str_replace(array(','),'',$a[1]); 
     } 
+0

您可以使用PHP類的DOMDocument解決。這是很容易的impliment。例如$ shopclues = get_page($ url); $ dom = new DOMDocument(); $ dom-> loadHTML($ shopclues); $ nodes = $ dom-> getElementsByTagName('div'); foreach($節點作爲$ key => $節點){if($ node-> getAttribute('class')=='price'){ //做你的東西 }} – CodeZilla

+0

好吧我會嘗試,但在這裏的情況是不同。 –

回答

-1

通過這條線

$data['price'] = (float) str_replace(array('Rs.', ','),'',$b[1]);