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

时间:2014-03-08 16:42:41

标签: php

即时使用simple_html_dom.php 例如,我正在使用此代码在div中获得一个跨度,但我希望得到它内部的三个跨度,而不是为每个跨度编写一个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。

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

您可以看到一个span类“no_ds”与另一个span类的名称相同。这会对我的代码产生什么影响吗? “地址adr”和“phone tel”之间的空格,如何在代码中写入?有一段时间?

1 个答案:

答案 0 :(得分:0)

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/>';
    }