0

HTMLは次のとおりです。

<div class="blogEntry expecting featured featured-post-today%e2%80%99s-top-story first">
<h2><a href="/2013/09/03/rachel-zoe-pregnant-expecting-second-child/" rel="bookmark" title="Permanent Link to Rachel Zoe Expecting Second&nbsp;Child">Rachel Zoe Expecting Second&nbsp;Child</a></h2>
</div>
<div class="blogEntry expecting featured featured-post-today%e2%80%99s-top-story first">
<h2><a href="someurl" rel="bookmark" title="Permanent Link to Rachel Zoe Expecting Second&nbsp;Child">sometitle</a></h2>
</div>

アンカー値を取得しようとしています。これが私のXPATHです:

$finder->query('//div[@class="blogEntry"]//h2//a');

値を返していません。理由はありますか?

4

2 に答える 2

0

わかった!!

ここにあなたが探しているものがあります:-

//div[contains(@class,"blogEntry")]/h2/a/text()

出力

Rachel Zoe Expecting Second Child
sometitle
于 2013-09-03T20:34:00.717 に答える
0

contains()ここで関数を使用する必要があります。

$xml = <<<EOF
<div class="blogEntry expecting featured featured-post-today%e2%80%99s-top-story first">
<h2><a href="/2013/09/03/rachel-zoe-pregnant-expecting-second-child/" rel="bookmark" title="Permanent Link to Rachel Zoe Expecting Second&nbsp;Child">Rachel Zoe Expecting Second&nbsp;Child</a></h2>
</div>
EOF;

$doc = new DOMDocument();
$doc->loadHTML($xml);

$selector = new DOMXPath($doc);

foreach($selector->query('//div[contains(@class,"blogEntry")]/h2/a/text()') as $item) {
    echo $item->nodeValue . PHP_EOL;
}

出力:

Rachel Zoe Expecting Second Child
于 2013-09-03T20:34:13.867 に答える