首页 > 解决方案 > 如何选择一个没有嵌套标签的href标签

问题描述

html部分

<div class="headlines">
  <a href="link.php"> </a>

  <a href="link.php"> </a>
 
   <img src="">

</div>

<div class="headlines">
  <a href="link.php"> </a>

  <a href="link.php"> </a>
 
   <img src="">

</div>

php部分

    require_once "xpath.php";
    
    $startUrl ="index.php";
    
    $xpath = new XPATH($startUrl);
    
    $linkHref = $xpath->query("//div[@class='headlines']/a/@href");
    $imageSrc = $xpath->query("//div[@class='headline']//img/@src");
    
     $data = array();

     for($x=0; $x<$imageSrc->length; $x++){
          $data[$x]['imageSrclink'] = $imageSrc->item($x)->nodeValue;
          $data[$x]['dataLinks'] = $linkHref->item($x)->nodeValue; 
        
 }

 echo "<pre>";

 print_r($data);

我正在尝试使用 img 标签的长度来匹配 href 标签,但 href 标签不等于 img 标签。我的意思是,我想要两个 href 标签而不是四个。

标签: phphtml

解决方案


您可以在每个“div”标签中获得每个“a”标签(a[1])的第一次出现:

$linkHref = $xpath->query("//div[@class='headlines']/a[1]/@href");

推荐阅读