在另一个问题的帮助下,我使用 xpath 从网站返回查询,但我需要它来搜索特定标题。
到目前为止,这是我的代码:
<?php
libxml_use_internal_errors(true);
$dom = new DomDocument;
$dom->loadHTMLFile("http://www.example.com");
$xpath = new DomXPath($dom);
$nodes = $xpath->query("//span[@class='newprodtext' and contains(translate(text(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'adidas')][1]");
foreach ($nodes as $i => $node) {
echo "Node($i): ", $node->nodeValue, "\n";
}
?>
这是一个示例 HTML:
<td colspan="2" align="center">
<a href="product.html" style="text-decoration:none">
<span class="newprodtext">Nike Shoes</span>
</a>
</td>
<td colspan="2" align="center">
<a href="product.html" style="text-decoration:none">
<span class="newprodtext">Nike T-Shirt</span>
</a>
</td>
<td colspan="2" align="center">
<a href="product.html" style="text-decoration:none">
<span class="newprodtext">Adidas Shoes</span>
</a>
</td>
我需要搜索来查找两个单独的词,例如如果我在寻找“阿迪达斯鞋”我希望查询返回 TRUE,但如果它找到反向术语“阿迪达斯鞋”或小写“鞋”,我也希望它返回 TRUE adidas”而不是确切的字符串。