2 votes

classe html dom ul simple

J'essaie d'obtenir le contenu de ul avec plusieurs noms de classe. La même syntaxe fonctionne pour les balises div, mais je n'arrive pas à la faire fonctionner avec la balise ul ci-dessous. Il renvoie juste un tableau vide.

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

Below renvoie juste un tableau vide.

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

2voto

Cashbee Points 2119

Cela devrait faire l'affaire

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

2voto

Alive to Die Points 53705

J'ai ce code qui fonctionne chez moi :-.

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;
}

Sortie sur le navigateur:- http://i.share.pho.to/92745ee0_o.png

Note:- télécharger le fichier du parseur ici:- https://sourceforge.net/projects/simplehtmldom/files/

Vous pouvez utiliser différents moyens comme:-

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

O

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

O

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X