[英]PHP : Simple DOM Parser how to iterate this html
我試圖使用簡單的html dom解析器迭代這個跟隨html,但沒有到達下一個節點。
<div class="category-products">
<ul class="products-grid">
<li><a href="http://someurl.com">Text</a></li>
<li><a href="http://someurl.com">Text</a></li>
<li><a href="http://someurl.com">Text</a></li>
</ul>
<ul class="products-grid">
<li><a href="http://someurl.com">Text</a></li>
<li><a href="http://someurl.com">Text</a></li>
<li><a href="http://someurl.com">Text</a></li>
</ul>
<ul class="products-grid">
<li><a href="http://someurl.com">Text</a></li>
<li><a href="http://someurl.com">Text</a></li>
<li><a href="http://someurl.com">Text</a></li>
</ul>
</div>
我想迭代每個li和一個ul.products-grid但我沒有到達下一個ul標簽我已經使用了這個代碼。
require_once('simple_html_dom.php');
set_time_limit(0);
ini_set('memory_limit', '1024M');
$url='http://www.somesite.com';
$html = file_get_html($url);
if(is_object($html)){
foreach ( $html->find('div.category-products') as $elem){
$data = $elem->innertext;
$strdata = str_get_html($data);
foreach ($strdata->find('ul[class="products-grid"]') as $ul) {
//not getting how to iterate over next ul tags
}
die;
}
}
任何有任何想法的機構請幫忙解決。 謝謝
你過度復雜了:
foreach ( $html->find('div.category-products li a') as $a){
// do something with $a
}
你可以試試這個
$url='http://www.somesite.com';
$html = file_get_html($url);
if(is_object($html)){
foreach ( $html->find('div.category-products .products-grid') as $ul){
// To iterate al li tags use following
foreach ( $ul->find('li') as $li ) echo $li. '<br />';
// To iterate al a tags use following
foreach ( $ul->find('li a') as $a ) echo $a. '<br />';
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.