我想从这个html页面部分中抓住“Bronze”这个词:
<tr class="">
<td align="left" csk="Nikpai,Rohullah"><a href="/olympics/athletes/ni/rohullah-nikpai-1.html">Rohullah Nikpai</a></td>
<td align="right" >25</td>
<td align="left" ><a href="/olympics/summer/2012/TKW/mens-featherweight.html">Men's Featherweight</a></td>
<td align="right" csk="3">3T </td>
<td align="left" class=" Bronze" csk="1"><strong>Bronze</strong></td>
</tr>
我尝试了不同的代码,但我的意图失败了。许多尝试之一如下:
foreach($html4->find('td align="left" strong') as $tag4) {
echo $prova = $tag4->innertext . "\n";
}
其中html4是我必须处理的整个html页面。
答案 0 :(得分:0)
使用以下代码,您可以获得类名“Bronze”
<?php
$html='<tr class="">
<td align="left" csk="Nikpai,Rohullah"><a href="/olympics/athletes/ni/rohullah-nikpai-1.html">Rohullah Nikpai</a></td>
<td align="right" >25</td>
<td align="left" ><a href="/olympics/summer/2012/TKW/mens-featherweight.html">Mens Featherweight</a></td>
<td align="right" csk="3">3T </td>
<td align="left" class=" Bronze" csk="1"><strong>Bronze</strong></td>
</tr>';
$dom = new DOMDocument();
@$dom->loadHTML($html);
foreach($dom->getElementsByTagName('td') as $link) {
echo trim($link->getAttribute('class'),' ');
}
?>
或者,如果您更喜欢节点值而不是类名,并且csk attribut始终为1:
foreach($dom->getElementsByTagName('td') as $link) {
if ($link->getAttribute('csk')=="1"){
echo $link->nodeValue;
}
}