[英]Remove a particular table DOMXPath
我有這段代碼,並使用DOMXPath刪除了給定的td
$html = file_get_contents('WebProxy.html');
$xml = new DOMDocument();
$xml->validateOnParse = true;
@$xml->loadHTML($html);
$xpath = new DOMXPath($xml);
$table =$xpath->query("//*[@id='proxylisttable']")->item(0);
// for printing the whole html table just type: print $xml->saveXML($table);
$rows = $table->getElementsByTagName("tr");
foreach ($rows as $row) {
$cells = $row -> getElementsByTagName('td');
foreach ($cells as $cell) {
echo $cell->nodeValue. . '<br>';
}
}
我會刪除td3,TD6,td7,td8
WebProxy.html
td1: <td class=" ">116.226.187.242</td>
td2: <td class=" ">1080</td>
td3: <td class=" ">CN</td>
td4: <td class=" ">China</td>
td5: <td class=" ">Socks4</td>
td6: <td class=" ">Anonymous</td>
td7: <td class=" ">Yes</td>
td8: <td class=" ">1 minute ago</td>
</tr>
<tr class="even">
td1: <td class=" ">23.254.153.205</td>
td2: <td class=" ">60088</td>
td3: <td class=" ">US</td>
td4: <td class=" ">United States</td>
td5: <td class=" ">Socks5</td>
td6: <td class=" ">Anonymous</td>
td7: <td class=" ">Yes</td>
td8: <td ctd1: lass=" ">1 minute ago</td>
</tr>
<tr class="odd">
td1: <td class=" ">46.101.208.9</td>
td2: <td class=" ">1080</td>
td3: <td class=" ">DE</td>
td4: <td class=" ">Germany</td>
td5: <td class=" ">Socks4</td>
td6: <td class=" ">Anonymous</td>
td7: <td class=" ">Yes</td>
td8: <td class=" ">1 minute ago</td>
</tr>
要這樣:
116.226.187.242
1080
China
Socks4
...
我該怎么辦,謝謝您的幫助
也許您可以通過排除不需要的單元格來調整xpath查詢。
例如:
<?php
$html = file_get_contents('WebProxy.html');
$xml = new DOMDocument();
$xml->validateOnParse = true;
@$xml->loadHTML($html);
$xpath = new DOMXPath($xml);
$cells =$xpath->query("//*[@id='proxylisttable']/tr/td[position() != 3 and position() != 6 and position() != 7 and position() != 8]");
foreach ($cells as $cell) {
echo $cell->nodeValue . "<br>";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.