2012-05-04 45 views
0

find()方法在這裏是simple_html_dom庫的功能,給定一個id /類時應該返回DOM節點元素。簡單的HTML DOM無法處理向前查找斜槓(ID)

$urlFetched->find("#".$id)始終未能找到,返回的東西當$ id爲 「FK-列表的MP3播放器 -/- 視頻iPod」。我猜問題是與正斜槓和simple_html_dom,因爲與其他編號和網址沒問題(剪斷)。 我該怎麼辦?我的程序幾乎完成並依賴於簡單的html dom。

感謝

代碼:

$urlAndIds = array(
    array("http://www.flipkart.com/audio" , array('fk-list-Home-Audio', htmlentities("fk-list-MP3-Players-/-IPods"), 'fk-list-Accessories'),array('ALL','AllBrands'))); 

foreach($urlAndIds as $uAI) { 
    $url = file_get_contents($uAI[0]) ; 
    $urlFetched = str_get_html($url) ; 

    if ($url == false){ 
     echo 'page '.$uAI[0] . " not found" ."<br>" ."<br>"; 
    } else { 
     foreach ($uAI[1] as $id) { 
      $idFound = $urlFetched->find("#".$id) ; 
      if(!$idFound) { 

       echo 'In page '.$uAI[0].' -id not found- '.$id ."<br>"; 
      } 
     } 
    } 


} 
+0

您可能更容易使用正常的屬性選擇器我認爲您不能在ID中使用正斜槓? –

回答

1

斜槓被解釋爲XPath表達式的一部分,所以它尋找一個名爲-IPods子元素。沒有XPath「quote」類型的函數。我不確定添加反斜槓是否可以正常工作,但是使用ID爲:[@id='fk-list-MP3-Players-/-IPods']

+0

「@ [ID = FK-列表的MP3播放器 -/- 視頻iPod]」 是什麼工作!非常感謝 –