子ノードではなく、現在のノードにある画像のみを取得する必要があります画像のない画像
のみを取得したい
クエリを使用できます
が、ループ内で必要ですgreen/yellow/red/black
not_important.gif
'.//table/tr/td/img'
<?php
/////////////////////////////////////////////////////////////////////
$html='
<table>
<tr>
<td colspan="2">
<span>
<img src="not_important.gif" />
</span>
<img src="green.gif" />
</td>
</tr>
<tr>
<td>
<span>yellow</span>
<img src="yellow.gif" />
</td>
<td>
<span>red</span>
<img src="red.gif" />
</td>
</tr>
</table>
<table>
<tr>
<td>
<span>
<img src="not_important.gif" />
</span>
<img src="black.gif" />
</td>
</tr>
</table>
';
/////////////////////////////////////////////////////////////////////
$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DomXPath($dom);
/////////////////////////////////////////////////////////////////////
$query = $xpath->query('.//table/tr/td');
for( $x=0,$results=''; $x<$query->length; $x++ )
{
$x1=$x+1;
$image = $query->item($x)->getELementsByTagName('img')->item(0)->getAttribute('src');
$results .= "image $x1 is : $image<br/>";
}
echo $results;
/////////////////////////////////////////////////////////////////////
?>
私は$query->item()->
試しhas_attributes
てみましたがgetElementsByTagNameNS
、getElementById
失敗しました::