3

我从网页的卷曲废料中获得以下 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;

这不会返回任何东西。如果我备份到 just/div我当然会得到box的全部内容。我如何提取第二个之后的单词<br>。我的话总是在第三个之后<br>

看起来很简单,但它逃脱了我。

4

2 回答 2

4

尝试类似这样的查询

$textNodes = $xpath->query('//div[@id="box"]/br[3]/following-sibling::text()[1]');

在这里工作演示 - http://codepad.viper-7.com/00oeZh

这里的关键是following-sibling Axes

于 2012-08-29T00:34:43.960 回答
0
<dl>
        <dt>info</dt>
        <dd>
            <a>a1</a>b2
            <a>a2</a>
        </dd>
    </dl>

获取标签后的 b2。xpath 如下所示。//dl/dd/a[1]/following-sibling::text()

于 2013-06-01T14:16:35.733 回答