dom ドキュメントを使用してサイトをスキャン@src
し、内部img
要素から属性を受け取ります。
htmlは次のとおりです。
<div class="content">
<div class="post">
<img src="abc"/>
</div>
<div class="post">
<img src="abc1"/>
</div>
<div class="post">
</div>
</div>
注:私は具体的には使用@src
していませんxpath
。また、これはまさに私がコーディングする必要がある方法です。
これが私のphpです:
$document = new DOMDocument();
$document->loadXML($file);
$XPath = new DOMXPath($document);
$Query = '//div[@class="content"]//div[@class="post"]';
$posts = $XPath->query($Query);
foreach ($posts as $post) {
if($XPath->evaluate("@src", $post))
{
$return[] = $XPath->evaluate("@src", $post)->item(0);
}else{
$return[] = "";
}
}
配列に位置を追加して$return
いますが、それらはすべて空の配列位置です。
私の質問は、php コードからデータを出力する方法です。
$return[] = $XPath->evaluate("@src", $post)->item(0);
これは機能しません:
$return[] = $XPath->evaluate("@src", $post)->item(0)->nodeValue;