Decir que tengo un archivo html que he cargado, yo funciono con esta pregunta:PHP XPath: Obtener todos los de href que contienen "letra"
$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")]');
Eso me da una lista de estos anclajes que se parecen a la siguiente :
<a href="players.aspx?letter=Aa">Aa</a>
Pero necesito una forma de obtener solo "players.aspx? Letter = Aa".
pensé que podría intentar:
$anchor = $xpath->query('//a[contains(@href,"letter")]/@href');
Pero eso me da un error de PHP diciendo que no podía añadir nodo cuando intento el siguiente:
$xpath = new DOMXPath($myDom);
$newDom = new DOMDocument;
$j = 0;
while($myAnchor = $anchor->item($j++)){
$node = $newDom->importNode($myAnchor, true); // import node
$newDom->appendChild($node);
}
alguna idea de cómo obtener simplemente el valor de las etiquetas href que selecciona la primera consulta? ¡Gracias!
Esto funciona sin ningún tipo de error para mí .. puedo ver más de un código, por ejemplo, el xml que es el DOM para newDom? –
Sí, lo siento, no estaba claro.No era XML, es un archivo HTML cargado. ¿Podría echar un vistazo a la publicación original otra vez? He editado la parte superior para reflejar cómo obtengo el DOM. – sfgiants2010
Todavía no es suficiente - te falta donde 'xpath' y' newDom' se inicializan –