name expressions attribute html xpath domdocument

html - expressions - Consulta XPath: obtener el atributo href de una etiqueta



xpath value (1)

Quiero usar XPath para obtener el atributo href de un -tag, pero tiene dos apariciones dentro del mismo archivo. ¿Cómo me llevo? Necesito verificar SI hay un atributo href con valor $ street / object, tengo este código y no funciona:

$product_photo = $xpath->query("//a[contains(@href,''{$object_street}fotos/'')][1]"); $product_360 = $xpath->query("//a[contains(@href,''{$object_street}360-fotos/'')][1]"); $product_blueprint = $xpath->query("//a[contains(@href,''{$object_street}plattegrond/'')][1]"); $product_video = $xpath->query("//a[contains(@href,''{$object_street}video/'')][1]");

No devuelve nada en absoluto. ¿Quién me puede ayudar?


Para el siguiente documento HTML:

<html> <body> <a href="http://www.example.com">Example</a> <a href="http://www..com">SO</a> </body> </html>

La consulta xpath /html/body//a/@href (o simplemente //a/@href ) devolverá:

http://www.example.com http://www..com

Para seleccionar una instancia específica, utilice /html/body//a[N]/@href ,

$ /html/body//a[2]/@href http://www..com

Para probar las cadenas contenidas en el atributo y devolver el atributo, coloque la marca de verificación en la etiqueta, no en el atributo:

$ /html/body//a[contains(@href,''example'')]/@href http://www.example.com

Mezclando los dos:

$ /html/body//a[contains(@href,''com'')][2]/@href http://www..com