[英]DOMXPath Match text
代码示例:
$html = <<<END <tr> <td>Text-1</td> </tr> <tr> <td>Blah 1</td> <td>Blah 2</td> <td>Blah 3</td> <td>Blah 4</td> </tr> <tr> <td>Text-2</td> </tr> <tr> <td>Blah 1</td> <td>Blah 2</td> <td>Blah 3</td> <td>Blah 4</td> </tr> END; $dom = new DOMDocument(); $dom->preserveWhiteSpace = false; $dom->loadhtml($html); $xpath = new DOMXPath($dom); // Grab the text $nodes = $xpath->query('//td[contains(text(), "Text-2")]|//td[contains(text(), "Blah 1")]/following-sibling::td'); echo $nodes->item(0)->textContent;
我试图在Text-2下抓住Blah 2,问题是在Text-1下抓住Blah 2
首先,找到<tr>
具有带有"Text-2"
的<td>
子项,然后遍历下一个兄弟,直到找到具有"Blah 1"
的<td>
。 答案是下一个兄弟姐妹。
//tr[contains(td/text(), "Text-2")]/following-sibling::tr/td[contains(text(), "Blah 1")]/following-sibling::td'
找到答案:
//*[text()='Text-2']/following::td[text()='Blah 1']/following-sibling::td
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.