3

私はhtmlを持っています:

$content = "
<tr>
   <td class="ttl"><a href="#">Colors</a></td>
   <td class="nfo">Dark Grey, Rose Red, Blue, Brown, Sand White</td>
</tr>";

コードphp:

$dom = new DOMDocument();
@$dom->loadHTML($content);      
$xpath = new DOMXPath($dom);

$attbs = $xpath->query("//td[@class='ttl']");
foreach($attbs as $a) { 
    print $a->nodeValue;
}

$values = $xpath->query("//td[@class='nfo']");
foreach($values as $v) { 
    print $v->nodeValue;
}

2 td の値を取得するが、1 つの foreach のみを使用する方法

4

2 に答える 2

1

|演算子を使用して、両方のクラスを論理 OR 式に入れます。

$attbs = $xpath->query("//td[@class='ttl'] | //td[@class='nfo']");
foreach($attbs as $a) { 
    print $a->nodeValue;
}

これは以下を出力します:

ColorsDark Grey, Rose Red, Blue, Brown, Sand White

デモ

于 2012-06-07T03:24:20.417 に答える
0

試す

$trs = $xpath->query("//tr");
foreach ($trs as $tr) {
    $attbs = $xpath->query("//td[@class='ttl']", $tr);
    $values = $xpath->query("//td[@class='nfo']", $tr);
    echo $attbs->item(0)->nodeValue . '-' .  $values->item(0)->nodeValue . '<br />';
}
于 2012-06-07T03:25:18.790 に答える