0

次のようなhtmlを解析する必要があります:

<div class="item"><div class="title">title 1</div><div class="date">day 1</div></div>
<div class="item"><div class="title">title 2</div><div class="date">day 2</div></div>
<div class="item"><div class="title">title 3</div><div class="date">day 3</div></div>

実際に私はこのようなことをします:

$title = $xpath->query('//div[@class="title"]//text()');
foreach ($title as $title)
{
  $title = trim($title->nodeValue);
}

$date = $xpath->query('//div[@class="date"]//text()');
foreach ($date as $date)
{
  $date = trim($date->nodeValue);
}

しかし、これでは1つのアイテムしか取得できないため、すべてのアイテムを同時に取得する適切な方法を探しています。

4

2 に答える 2

1

私はあなたの問題を本当に理解していません。ループは期待どおりに機能し、たとえば、すべてのタイトルと日付を配列に蓄積することができます。同じ変数名を再度使用することはありませんが。

$titles = $xpath->query('//div[@class="title"]//text()');
foreach ($titles as $title)
{
    $all_titles[] = trim($title->nodeValue);
}

$dates = $xpath->query('//div[@class="date"]//text()');
foreach ($dates as $date)
{
    $all_dates[] = trim($date->nodeValue);
}

テスト用のコードパッド。

于 2013-01-01T14:24:59.737 に答える