简单 html dom ul class

simple html dom ul class

我正在尝试获取具有多个 class 名称的 ul 标签的内容。相同的语法适用于 div 标签,但无法使其与下面的 ul 标签一起使用。它只是 returns 空数组。

<html>
  <div>
    <div>
      <div>
        <ul class="set-left farm margin-exclude">
          <li>
            <a href="#">Text</a>
          </li>
        </ul>
      </div>
    </div>
  </div>
</html>

下面只是 returns 个空数组。

$html->find('ul[class=set-left farm margin-exclude]');

这应该可以解决问题

$html->find('ul.set-left.farm.margin-exclude');

我有这个工作代码:-

file.txt:-

<html>
  <div>
    <div>
      <div>
        <ul class="set-left farm margin-exclude">
          <li>
            <a href="#">Text</a>
          </li>
        </ul>
        <ul class="set-left farm margin-exclude">
          <li>
            <a href="#">Text2</a>
          </li>
        </ul>
      </div>
    </div>
  </div>
</html>

query.php:-

<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
include_once('simple_html_dom.php'); // this is parser file
$html = file_get_html('file.txt');


$level_items = $html->find('*[class="set-left farm margin-exclude"]');

foreach ( $level_items as $item ) {
   echo $item;
}

在浏览器上的输出:- http://i.share.pho.to/92745ee0_o.png

注意:- 在此处下载解析器文件:- https://sourceforge.net/projects/simplehtmldom/files/

您可以使用不同的方式,例如:-

$html->find('ul.set-left');

$html->find('.set-left.farm.margin-exclude');

$html->find('*[set-left.farm.margin-exclude]');