2012-06-13 27 views
0

可能重複:
Selecting a css class with xpath我可以使用DOMXPath在Li類中提取圖像源嗎?

我試圖提取所有圖像的源HTML中這樣

<li class="carousel_item"> 
    <img src="http://www.xxxx.com/1fc1c1c2db5852e08ffcff38.jpg" 
         width="200" 
         height="200" 

         style="margin-bottom:1px" 
         class="image_error" /> 
        <span class="image_error" title="jpg"></span> 
        <span class="image_error" title="2.jpg"></span> 
       </li> 

當我使用下面的命令,我得到文檔中的所有圖像

$nodelist = $xpath->query("//img/@src"); 
    foreach ($nodelist as $n){ 
    echo $n->nodeValue."<br>"; 
} 

但我只想列出的類中的項目=「carousel_item」

這可能嗎?

+3

是的,這是可能的。你想知道什麼? – hakre

回答

1

當然,只需在查詢中包含<li>及其類屬性。你只需要在XPath字符串更改爲:

$nodelist = $xpath->query("//li[@class='carousel_item']/img/@src"); 

Demo

+1

謝謝,先生,完美的作品。 – user1197941

+0

HTML中的類屬性是一個空格分隔的列表,這使得它不那麼簡單。從技術上講,你在這裏回答的一定不是錯的,但也不可能是對的。 – hakre

+0

@hakre - 好點 - 如果user1197941是這種情況,那麼您必須用'contains()'函數替換類選擇器,該函數只是bsdnoobz指出的。 – nickb

1
$nodelist = $xpath->query('//li[contains(@class, "carousel_item")]/img/@src'); 
相關問題