XPath Query: get attribute href from a tag

domdocument, html, xpath

Solution

For the following HTML document:

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

The xpath query `/html/body//a/@href` (or simply `//a/@href`) will return:

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

To select a specific instance use `/html/body//a[N]/@href`,

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

To test for strings contained in the attribute and return the attribute itself place the check on the tag not on the attribute:

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

Mixing the two:

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

Problem

I want to use XPath to get the `href` attribute from an `a`-tag, but it has two occurrences within the same file. How am I getting along? I need to check IF there is an `href` attribute with value $street/object, I have got this code and it does not work: ``` $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]"); ``` It does not return anything at all. Who can help me out?

Original source