我有这样的结构:
<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\')]');
,但它只返回所有立即购买链接的列表。
谢谢!
答案 0 :(得分:1)
假设您正在使用DOMDocument
和DOMXpath
,您应该可以使用以下内容:
$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了解演示。