PHP Xpath: получить все ссылки, содержащие «букву»

Допустим, у меня есть загруженный файл 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, которые были первыми. запрос выбирает?? Спасибо!

5
задан sfgiants2010 15 May 2012 в 00:17
поделиться