简单的html dom ul类

时间:2017-02-09 09:48:09

标签: php html simple-html-dom

我正在尝试使用多个类名来获取ul标记的内容。相同的语法适用于div标记,但无法使用下面的ul标记。它只返回空数组。

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

下面只返回空数组。

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

2 个答案:

答案 0 :(得分:2)

这应该可以解决问题

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

答案 1 :(得分:2)

我的工作代码在我的最后: -

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');

OR

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

OR

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