[英]Parsing HTML DOM with PHP
我想使用PHP將以下HTML中的記錄讀入變量。 做這個的最好方式是什么? 示例HTML代表兩個記錄。
記錄1的結果:
rank = 1 tag = LLG8V2QQ name = Pat level = 11 league = 1 trophies = 4154 donations = 578 role = Elder
<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>
您可以嘗試使用PHP的DOMDocument類。 這是文檔鏈接 。 您可以從以下示例開始:
<?php
$doc = new DOMDocument();
$doc->loadHTMLFile("filename.html");
//or $doc->loadHTML("<html><body>Test<br></body></html>");
然后遍歷文檔節點及其子節點:
foreach ($doc->childNodes as $item) {
//... some code
}
到目前為止,我的代碼:
<?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
}
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.