【问题标题】:Parsing HTML DOM with PHP用 PHP 解析 HTML DOM
【发布时间】:2017-05-28 22:31:20
【问题描述】:

我想使用 PHP 将以下 HTML 中的记录读入变量。做这个的最好方式是什么?示例 HTML 表示两条记录。

记录 1 的结果:

排名 = 1 标签 = LLG8V2QQ 名字=帕特 等级 = 11 联赛 = 1 奖杯 = 4154 捐款 = 578 角色=长者
  <div class="clan__rowContainer">
    <div class="clan__row">
                        #1
                </div>
    <div class="clan__row">
      <a class="ui__blueLink" href='/profile/LLG8V2QQ'>Pat</a>
    </div>
    <div class="clan__row">
      <span class="clan__playerLevel">11</span>
    </div>
    <div class="clan__row">
      <div class="clan__leagueContainer">
                        <div class="league__1"></div>
                    </div>
    </div>
    <div class="clan__row">
      <div class="clan__cup">4154</div>
    </div>
    <div class="clan__row">578</div>
    <div class="clan__row">
         Elder
                </div>
  </div>


  <div class="clan__rowContainer">
    <div class="clan__row">
                        #2
                </div>
    <div class="clan__row">
      <a class="ui__blueLink" href='/profile/299GGR2J'>Erikson</a>
    </div>
    <div class="clan__row">
      <span class="clan__playerLevel">11</span>
    </div>
    <div class="clan__row">
      <div class="clan__leagueContainer">
                        <div class="league__1"></div>
                    </div>
    </div>
    <div class="clan__row">
      <div class="clan__cup">4081</div>
    </div>
    <div class="clan__row">248</div>
    <div class="clan__row">
         Member
                </div>
  </div>

【问题讨论】:

  • 可以考虑cURL

标签: php html parsing dom html-parsing


【解决方案1】:

到目前为止我的代码:

    <?php 
        $_document = implode('', file('http://myURL')); 

        $dom = new DomDocument; 
        $dom->loadHTML($_document); 
        $dom->preserveWhiteSpace = false; 
        $divs = $dom->getElementsByTagName('div'); 
        foreach ($divs as $div) {
            $class = $div->getAttribute('class');
            if ($class == 'clan__rowContainer') {
                NO IDEA WHAT NOW
            }
        }
    ?>

【讨论】:

    【解决方案2】:

    您可以尝试使用 PHP 的 DOMDocument 类。这是文档link。 例如,您可以从以下开始:

    <?php
    $doc = new DOMDocument();
    $doc->loadHTMLFile("filename.html");
    //or $doc->loadHTML("<html><body>Test<br></body></html>");
    

    然后遍历 doc 节点及其子节点:

    foreach ($doc->childNodes as $item) {
        //... some code
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-25
      • 1970-01-01
      • 1970-01-01
      • 2013-08-15
      • 2011-05-18
      • 2012-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多