【问题标题】:PHP : Simple DOM Parser how to iterate this htmlPHP:简单的DOM解析器如何迭代这个html
【发布时间】:2013-04-22 17:21:31
【问题描述】:

我尝试使用简单的 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;
    }
}

任何有想法的人请帮忙解决。谢谢

【问题讨论】:

  • 我正在使用 simplehtmldom.sourceforge.net 简单的 html dom 解析器
  • 是否可以提供正确的url,以便我们可以帮助您,因为我们可以使用您提供的示例作为对象

标签: php simple-html-dom


【解决方案1】:

你太复杂了:

foreach ( $html->find('div.category-products li a') as $a){
  // do something with $a
}

【讨论】:

    【解决方案2】:

    你可以试试这个

    $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 />';
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 2015-02-14
      • 2016-07-30
      • 1970-01-01
      • 2013-03-23
      相关资源
      最近更新 更多