2016-05-17 3 views
0

を使用して、srcのノード値を引き出す...プラザ導きます。以下の私のできません私は<code>getattribute</code>を使用して<code>href</code>と画像<code>src</code>をエコーし​​ようとしていますが、<code>href</code>が正しくエコーされますけれども、私は、画像srcを取得することができませんのgetAttribute

HTMLのモックアップ

<div id="hot-deals"> 
    <div class="all-deals"> 
    <ul> 
     <li><a href="http://url1.com"> 
      <img src="http://imagelink1.com"></a> 
     </li> 
     <li><a href="http://url2.com"> 
      <img src="http://imagelink2.com"></a> 
     </li> 
     <li><a href="http://url3.com"> 
      <img src="http://imagelink3.com"></a> 
     </li> 
    </ul> 
    </div> 
</div> 

は私のコード

$nodes = $my_xpath->query('//div[@id="hot-deals"]/div[@class="all-deals"]/ul/li/a'); 
foreach($nodes as $node) 
    {  
     $title=$node->getAttribute('href'); 
     $img=$node->getAttribute('img/src'); 
     echo $title.",".$img."<br>"; 
    } 

答えて

2

srcaタグの属性ではありませんので、あなたはその後、内側imgタグを取得するために、もう一つのステップを必要とし、その属性を取る

foreach($nodes as $node) { 
    $title = $node->getAttribute('href'); 
    $imgTags = $node->getElementsByTagName('img'); 
    $img = $imgTags->item(0)->getAttribute('src'); 
    echo $title . "," . $img . "<br>"; 
} 
0

このコードを試すことができます。

<?php 
$str = '<div id="hot-deals"> 
    <div class="all-deals"> 
    <ul> 
     <li><a href="http://url1.com"> 
      <img src="http://imagelink1.com"></a> 
     </li> 
     <li><a href="http://url2.com"> 
      <img src="http://imagelink2.com"></a> 
     </li> 
     <li><a href="http://url3.com"> 
      <img src="http://imagelink3.com"></a> 
     </li> 
    </ul> 
    </div> 
</div>'; 

$nodes = simplexml_import_dom(DOMDocument::loadHTML($str))->xpath('//div[@id="hot-deals"]/div[@class="all-deals"]/ul/li/a'); 


foreach($nodes as $node) 
{ 
    $title = $node['href']; 
    $src = $node->img['src']; 
    echo $title ." " . $src . '<br>'; 
} 
関連する問題

 関連する問題