我已经四处寻找,我一直无法找到它。我只想使用通配符从html中选择元素。例如,对于我正在抓取的页面,此选择器在Jquery的控制台中完美运行:
$("tr[id^='informal_']")
换句话说,抓住id为'informal_'开头的所有行。我试过xpath但没有运气。 xpath是XML独有的吗?无论如何,如果有人有任何解决方案,我将非常感激。
修改
我使用的xpath:
$doc = new DOMDocument($html);
$doc->strictErrorChecking = false;
$xpath = new DOMXPath($doc);
$table_rows = $xpath->query("//*tr[starts-with(@id, 'informal_')]");
解 我决定选择:http://code.google.com/p/phpquery/
以下是代码:
require('phpQuery/phpQuery.php');
$doc = phpQuery::newDocumentHTML($html);;
$table_rows = $doc->find("tbody tr[id^='informal_']");
答案 0 :(得分:3)
等同于jQuery选择器
tr[id^='informal_']
在XPath中,是
//tr[starts-with(@id, 'informal_')]
你非常接近答案,只有*
阻碍了它。
答案 1 :(得分:0)
*tr
是无效的XPath。
您只需要*
,即*[starts-with...