我从网页的卷曲中获得以下html:
<div id="box">
<br>
Your word(s):
<br>
<br>
functionally
<br>
<br>
<br>
我想要的是第三个<br>
之后的内容:/html/body/div[2]/div/br[3]
- 功能
@$itemCell = $xpath->query( "/html/body/div[2]/div/br[3]" );
$word = $itemCell->item( 0 );
return $word->nodeValue;
这不会返回任何东西。如果我回到/div
,我当然会获得框的全部内容。如何在第二个<br>
之后提取单词。我的话总是在第三个<br>
之后。
看起来如此简单,却让我感到不安。
答案 0 :(得分:4)
尝试类似此查询的内容
$textNodes = $xpath->query('//div[@id="box"]/br[3]/following-sibling::text()[1]');
在这里工作演示 - http://codepad.viper-7.com/00oeZh
此处的关键是following-sibling
Axes。
答案 1 :(得分:0)
<dl>
<dt>info</dt>
<dd>
<a>a1</a>b2
<a>a2</a>
</dd>
</dl>
在标签后获取b2。 xpath如下所示。 //分升/ DD / A [1] /以下同胞::文本()