如何在PHP中获得div中的所有跨度?

如何在PHP中获得div中的所有跨度?,php,Php,我正在使用simple_html_dom.php 例如,我使用这段代码在div中得到一个span,但我想得到它内部的三个span,而不是为每个span编写一个foreach for(){ foreach($html->find('span.street-address'$i) as $e){ $list[$i] = $e->plaintext; echo $list[$i]; } } 另外,我想从HTML文件中获取信息

我正在使用simple_html_dom.php 例如,我使用这段代码在div中得到一个span,但我想得到它内部的三个span,而不是为每个span编写一个foreach

for(){
    foreach($html->find('span.street-address'$i) as $e){
          $list[$i] = $e->plaintext;
          echo $list[$i];
        }
}
另外,我想从HTML文件中获取信息的div是

<div class="address adr">
    <span class="street-address">
        <span class="no_ds">...</span>
        <span class="postal-code">...</span>
        <span class="locality"></span>
    </span>
<div>
我想得到div类中的所有内容。 还有一个不同的电话部门

<div class="phone tel">
    <span class="no_ds"></span>
<div>

正如您所看到的,一个span类no_ds与另一个span类的名称相同。这会对我的代码有任何影响吗?地址adr和电话号码之间的空格,如何在代码中写入?带句点?

这里的答案是getElementsByTagName

// gets all SPANs
    $spans = $dochtml->getElementsByTagName('span');

    // traverse the object with all SPANs
    foreach($spans as $span) {
      // gets, and outputs the ID and content of each DIV
      $id = $span->getAttribute('id');
      $cnt = $span->nodeValue;

      echo $id. ' - '. $cnt. '<br/>';
    }

不,正如我之前所说,我使用的是simple_html_dom.php,因此我加载了带有$html=file_get_html$url的html文件;然后我查找divs OP使用的是simple_html_dom库,它没有getElementsByTagName或getAttribute或nodeValue,而getElementsByTagName或getAttribute或nodeValue是DOMDocument方法/属性这里有多个我不想从中获取信息的其他跨度。这就是为什么我只想要那些div