2016-07-18 3 views
1

これは私が使用するものです。両方のノードを同じサイクルに入れる方法は?

libxml_use_internal_errors(true); 
$dom = new DomDocument; 
$dom->loadHTMLFile("https://www.gismeteo.ru/city/weekly/4230/"); 
$xpath = new DomXPath($dom); 
$weekday= $xpath->query('//*[@id="weather-weekly"]//div[@class="weekday"]'); 
$date= $xpath->query('//*[@id="weather-weekly"]//div[@class="s_date"]'); 

foreach ($weekday as $node4){ 
foreach ($date as $node3){ 
echo $node4->nodeValue,$node3->nodeValue,"<br>";}} 

$node4->nodeValueプリントアウト曜日をsun, mon, tue...$node3->nodeValueプリントアウト月の日を、どのように私はそれがこのsat 23.07, sun 24.08...ように同じ列にあるすべてのものを印刷するのですか?ありがとう。

答えて

0
$xpath = new DomXPath($dom); 
$days = $xpath->query('//*[@id="weather-weekly"]//div[@class="wbshort"]'); 
foreach ($days as $day) { 
    // find weekday and date under day 
    $weekday= $xpath->query('.//div[@class="weekday"]', $day); 
    $date= $xpath->query('.//div[@class="s_date"]', $day); 
    echo $weekday->item(0)->nodeValue . " " . $date->item(0)->nodeValue; 
} 
+0

が、私はこのエラーを持っている 'キャッチできる致命的なエラー:DOMXPathを使うことの最大::クエリに渡される引数2()申し訳ありませんDOMNode' – MakeMeWise

+0

のインスタンスでなければならないが、それはタイプミスだ - 私は一日 – splash58

+0

オーケー前に' $ 'を失いました、すべてのリストを印刷するにはどうすればいいですか?それは最初の項目だけを表示し、 'foreach($ days as $ i => $ day)'を設定しようとしました。 – MakeMeWise

関連する問題