使用简单的html dom获取无序列表和列表项内的DIV

时间:2017-06-17 21:38:11

标签: php html dom simple-html-dom

我如何得到DIVul内的li,如下面的代码所示,单DIV内有很多li我应该用什么方法?我在下面使用了代码,但是他们获取了所有li,包括我不需要的代码,需要您的思考如何从<div class="single-event__code">获取示例<li class="single-event live">,请参阅下面的php和css代码< / p>

  <div class="app_content">
  <ul class="js-events-container">...</li>
    <li class="single-event live">...</li>
    <li class="single-event live">...</li>
    <li class="single-event live">...</li>
    <li class="single-event live">...</li>
    <li class="single-event live">
     ::before
     //First DIV of li
    <div class="single-event__code">
    Event Code: <strong>96441</strong>
               </div>
        <div class="single-event__time">
            <span class="score js-score">LIVE</span>
            <span class="time js-timer"></span>
            </div>
        <div class="single-event__players">
       <a href="/sportsbook/SOCCER/BRAZIL_SERIE_D/400953/">
        AA Portuguesa RJ <span> v </span> Audax SP </a>
                 </div>
       <div class="single-event__bets three markets">
    <div class="single-event__bets__container js-bets-container">
                <div class="single-event__bets__price">
                     1.02
                      </div><div class="single-event__bets__price">
                     81.00
                      </div><div class="single-event__bets__price">
                     101.00
                      </div></div>
    <div class="single-event__bets__more"><a href="/sportsbook/SOCCER/BRAZIL_SERIE_D/400953/" data-markets="+18">+<span>+18</span></a></div>
        </div>
   ::after
    </li>

    <li class="single-event live">...</li>
    <li class="single-event live">...</li>
    <li class="single-event live">...</li>
    <li class="single-event live">...</li>

UPDATE 使用下面的PHP代码,我可以获取所有在无序列表/列表项之外的对象,它们将显示在屏幕上,但如果我更改并获取无序列表/列表示例<div class="single-event__code">项内的数据,它将不会输出任何内容

 <?php

$html = file_get_contents('https://www.mkekabet.com/sportsbook/SOCCER/');
$dom = new DOMDocument();
 $internalErrors = libxml_use_internal_errors(true);
 $dom->loadHTML($html);
 libxml_use_internal_errors($internalErrors);
 $xpath = new DOMXPath($dom);

 $codeList = $xpath->query('//div[@class="app_content"]');
   foreach ($codeList as $codeDiv){
    var_dump($codeDiv->textContent);

 }

需要你的想法。

1 个答案:

答案 0 :(得分:0)

您可能希望在example中使用带有xpath的PHP DOM 如需选择,您可以使用“li.single-event .single-event__code”。 通过这种方式,您将获得所有具有“li-elements”内部类“single-event__code”的div。