如何通过其他表格单元名称选择表格单元格

时间:2016-09-08 09:23:39

标签: php regex select xpath

我有这样的结构:

<tbody>
  <tr>
    <td>Book Title</td>
    <td><a href="http://localhost/books/book-title">More Info</a></td>
    <td><a href="http://localhost/book?product=bt1">Buy Now</a></td>
  </tr>

<tr>
    <td>Book Title2</td>
    <td><a href="http://localhost/books/book-title2">More Info</a></td>
    <td><a href="http://localhost/book?product=bt2">Buy Now</a></td>
  </tr>

<tr>
    <td>Book Title3</td>
    <td><a href="http://localhost/books/book-title3">More Info</a></td>
    <td><a href="http://localhost/book?product=bt3">Buy Now</a></td>
  </tr>
</tbody>

如何通过书名选择立即购买href。例如,如果按书名选择&#34;书名2&#34;,它将返回&#34; http://localhost/book?product=bt2&#34;。

我尝试$nodeList = $xpath->query('//*/a[contains(@href,\'product\')]');,但它只返回所有立即购买链接的列表。

谢谢!

1 个答案:

答案 0 :(得分:1)

假设您正在使用DOMDocumentDOMXpath,您应该可以使用以下内容:

$title = 'Book Title2';
echo $xpath->query('//tr[td = "' . $title . '"]/td[a = "Buy Now"]/a/@href')[0]->textContent;

// http://localhost/book?product=b2

请参阅https://eval.in/637744了解演示。