DomCrawler FilterXPath查询

时间:2015-12-30 16:55:05

标签: php symfony xpath domcrawler

我有一些html如下:

<html>
<body> 
... other html stuff ...
<form method="post" action="goSomewhere">
    <input type="hidden" value="something">
    <input type="hidden" value="something2">
<table>
    <tr><td><input type="checkbox" name="123">Stuff 1</td></tr>
    <tr><td><input type="checkbox" checked name="456">Stuff 2</td></tr>
    <tr><td><input type="checkbox" name="789">Stuff 3</td></tr>
</body> 
</html>

我正在尝试选择<form>中的所有内容,除了具有特定名称的标记(innerhtml,即)。这是我正在使用的查询:

$query = "//form//td[not(normalize-space() = 'Stuff 2')]"; 

这成功过滤了 out 特定<td>内容,但问题是然后只返回<td>内容。正如您所看到的,<input>中还有其他<table>,我也需要这些preserving

有人可以帮忙解决这个问题吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您正在寻找//form//td[not(normalize-space() = 'Stuff 2')]/input|//input[not(ancestor::table)]