正如標題所說我試着去找到這裏的特定類元素的第一個孩子,我想做些什麼:PHP DOM解析器找到事業部的第一個孩子的具體類別和搜索每個元素
更新:我添加了格式。我也想到如何去到這個tbody。但在一天結束時,我試圖做的是檢查tbody中的每個元素是否等於「 - 」。那麼我將如何實現這一目標呢?我會將DOM對象轉換爲字符串嗎?什麼是一種有效的方式來做到這一點。
更新2:我發現了一個優雅的解決方案,我更新了我的代碼。問題仍然存在:最好的方法來檢查是否有整數?我只是將每個元素轉換爲一個字符串,然後做一個strpos條件?
更新3:沒想到我弄明白了。下面包含的是解決方案。我不得不進一步進入表體來選擇表格行並代之以循環。
foreach($html->find('div[class=compareSkillsOuter clear] section[class=playerStats] div[class=tiledBlueFrame] div[class=tableWrap] table[class=headerBgLeft] tbody tr') as $element){
if($position = strrpos($element, '--');
if($position !== false){
echo "String found";
}
else{
echo "String not found";
}
}
格式:
<div class="compareSkillsOuter clear">
<section class="playerStats">
<div class="tiledBlueFrame">
<div class="tl corner"></div>
<div class="tr corner"></div>
\t <div class="bl corner"></div>
<div class="br corner"></div>
<div class="tableWrap">
<table class="headerBgLeft">
<thead>
<tr>
<th class="alignleft">Rank</th>
<th class="alignleft">Total XP</th>
<th class="alignleft">Level</th>
</tr>
</thead>
<tbody>
<tr >
<td class="alignleft"><a href="#">1,700,012</a></td>
<td class="alignleft"><a href="#">3,290</a></td>
<td class="playerWinLeft alignleft"><div class="relative"><a href="#">55</a></div></td>
</tr>
<tr class=oddRow>
<td class="alignleft"><a href="#">--</a></td>
<td class="alignleft"><a href="#">--</a></td>
<td class="alignleft"><a href="#">--</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
</div>
最好的解決方案:
\t \t $data = $html->find("table[class=headerBgLeft] tbody",0);
\t \t $data1 = $data->find("tr td a");
\t \t $statistics = Array();
\t \t
\t \t //echo $data1[1]->plaintext;
\t \t foreach($data1 as $tr)
\t \t {
\t \t \t //store each
\t \t \t echo "$tr 1<br>";
\t \t }
Okey很好,現在我爲你解答了一個問題。我們*神奇*知道你的DOM結構是怎樣的?什麼是輸出,什麼是*期望*輸出?紅地毯在哪裏? – Xorifelse
@Xorifelse哦謝謝你提醒我。我已將它添加到代碼中。還修改了我想要做什麼的描述。 tbody包含整數值。如果它爲空,那麼它們默認爲' - '。我如何檢查tbody是否每個都有一個整數? – Potion