ロードしたhtmlファイルがあるとすると、次のクエリを実行します。
$url = 'http://www.fangraphs.com/players.aspx';
$html = file_get_contents($url);
$myDom = new DOMDocument;
$myDom->formatOutput = true;
@$myDom->loadHTML($html);
$anchor = $xpath->query('//a[contains(@href,"letter")]');
これにより、次のようなアンカーのリストが表示されます。
<a href="players.aspx?letter=Aa">Aa</a>
しかし、「players.aspx?letter=Aa」だけを取得する方法が必要です。
私は試すことができると思いました:
$anchor = $xpath->query('//a[contains(@href,"letter")]/@href');
しかし、次のことを試してみると、ノードを追加できなかったというphpエラーが発生します。
$xpath = new DOMXPath($myDom);
$newDom = new DOMDocument;
$j = 0;
while( $myAnchor = $anchor->item($j++) ){
$node = $newDom->importNode( $myAnchor, true ); // import node
$newDom->appendChild($node);
}
最初のクエリが選択するhrefタグの値だけを取得する方法はありますか?ありがとう!