簡體   English   中英

使用dom從div獲取第一個href

[英]Fetching the first href from a div using dom

我需要從div提取第一個href值...但是它有兩個,而我只需要第一個...這是下面的html和我的代碼...

 <div class="buttons">
                                    <!-- Clickout -->
                                    <a href="http://test.com"
                                    class="btn--ir--orange js-btn-click js-clickout-track js-clickout-sink js-ga-tracking

                                                gtm-clickout-11
                                        "
                                    rel="nofollow"
                                    target="_blank"
                                    >
                                        <i class="icon-check"></i>Bekijk product
                                    </a>
                                    <!-- Checkout -->
                                        <a class="btn--il--green margin-mobile-top-medium js-checkout-cart-add"
                                           href="#" data-group="Spiegelreflexcamera"

                                        </a>
                                </div>

為此,請使用以下代碼...

foreach($dom->getElementsByTagName('div') as $tr) {

if($tr->getAttribute('class') == 'buttons')
 {


     foreach($tr->getElementsByTagName('a') as $at)
     {

      $urnt = "http://kieskeurig.nl".$at->getAttribute('href'); 


     }
     echo $urnt ."<br />";

 }
}

這會給我返回第二個href值,它是#...有人可以幫我嗎...無法弄清楚為什么它不讀取第一個href值...

在此代碼中:

foreach($tr->getElementsByTagName('a') as $at)
{
    $urnt = "http://kieskeurig.nl".$at->getAttribute('href'); 
}

在每次迭代中, $urnt變量將填充$at新值。

當然 ,您在div中使用一個href會得到結果-因為只有一個href並且$urnt的值不會被跟隨覆蓋

如果要獲取集合的第一個元素:

最簡單的方法是打破foreach循環:

foreach($tr->getElementsByTagName('a') as $at)
{
    $urnt = "http://kieskeurig.nl".$at->getAttribute('href'); 
    break;   // you break the loop right after the first iteration
}
echo $urnt ."<br />";

另一種選擇是使用item方法, 未經測試,但應類似於:

$urnt = $tr->getElementsByTagName('a')->item(0)->getAttribute('href');
echo "http://kieskeurig.nl" . $urnt;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM