我想解析一個html文件。php xpath:查詢結果內的查詢
這個想法是用title
和desc
類獲取跨度,並在每個具有屬性class ='thebest'的div中獲取它們的信息。
這裏是我的代碼:
<?php
$example=<<<KFIR
<html>
<head>
<title>test</title>
</head>
<body>
<div class="a">moshe1
<div class="aa">haim</div>
</div>
<div class="a">moshe2</div>
<div class="b">moshe3</div>
<div class="thebest">
<span class="title">title1</span>
<span class="desc">desc1</span>
</div>
<div class="thebest">
span class="title">title2</span>
<span class="desc">desc2</span>
</div>
</body>
</html>
KFIR;
$doc = new DOMDocument();
@$doc->loadHTML($example);
$xpath = new DOMXPath($doc);
$expression="//div[@class='thebest']";
$arts = $xpath->query($expression);
foreach ($arts as $art) {
$arts2=$xpath->query("//span[@class='title']",$art);
echo $arts2->item(0)->nodeValue;
$arts2=$xpath->query("//span[@class='desc']",$art);
echo $arts2->item(0)->nodeValue;
}
echo "done";
預期的結果是:
title1desc1title2desc2done
是我收到的結果是:
title1desc1title1desc1done