2013-07-24 57 views
2

HTML:PHP簡單的HTML DOM解析器找到直接LI元素

<ul> 
<li><a></a> 
    <ul> 
    <li></li> 
    <li></li> 
    </ul> 
</li> 
<li> 
    ... 
</li> 
</ul> 

ul:first-of-type,這將是選擇爲它的(直接)子li元素,以li元素分別解析後裔?

+0

@戈登:我不喜歡真的不明白爲什麼這個問題被當作題外話。我很清楚自己想要達到甚至得到答案。 –

+0

它被關閉了,因爲它沒有顯示對被解決問題的最小理解。**特別是,你沒有解釋你試圖解決這個問題的原因或爲什麼在http://simplehtmldom.sourceforge .net/manual.htm沒有幫助。我們希望你在提問之前進行徹底的研究。請參閱http://stackoverflow.com/questions/ask-advice和http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist – Gordon

+0

我沒有閱讀文檔,但認爲有一些其他方式這樣做:像「李不李李」。我找到的信息如下,但它不是完整的解決方案,因爲ul中有其他元素比li,但是...因爲它不是有效的html,我接受了下面的答案。 –

回答

2

在jQuery中,你可以簡單地使用這個選擇:ul > li

更新: -

使用簡單DOM: -

<ul class="listitems"> 
<li><a></a> 
    <ul> 
    <li></li> 
    <li></li> 
    </ul> 
</li> 
<li> 
    ... 
</li> 
</ul> 

簡單的HTML DOM代碼得到公正的第一級裏物品:

$html = file_get_html($url); 
$first_level_items = $html->find('.listitems', 0)->children(); 

foreach ($first_level_items as $item) { 
    ... do stuff ... 
} 
+0

請注意,SimpleHtmlDom不支持'>'。請參閱http://simplehtmldom.sourceforge.net/manual.htm – Gordon

+0

我沒有正確閱讀標題。我已更新代碼:) –

+0

謝謝,似乎工作。 –

相關問題