2016-07-22 6 views
0

以下のコードのforループは正しく動作しません。forループを使用してURLリストからデータを抽出する方法

$html= @file_get_html($url); 
$job_array = array(); 
foreach($html->find('a') as $link) { 
    // $links=$html->find('a'); 
    if (strpos($link->href, '/job-category/') !== false) { 
    $job_array[] = $link->href . "<br/>"; 
    } 

    for ($a = 0; $a <= ($link->href); $a++) { 
    //$page_number = 20; 
    // for ($i = 1; $i <= $page_number; $i++) { 
    $html2 = file_get_html($link->href); 
    $response = array(); 
    foreach ($html2->find('div#mainContent') as $header) { 
    $response[] = $header->innertext . "<br/>"; 
    print_r($response); 
    } 
    } 
+0

エラーが発生しますか? –

+2

おそらく、「動作しません」という意味をもう少し詳しく説明してください。 – RamRaider

+0

ようこそ!私はあなたの問題を推測できる限りあなたの質問を編集しました。しかし、コードと説明の説明を追加して、より多くの人々がその知識を持つ人に見られるようにします。特定の問題を特定するために必要な場合は、特定のエラーメッセージを編集してください。がんばろう! – manetsus

答えて

0

私は

$link->href 

は、ループの数とに$比較し、反復処理するために、非番号を使用することはできませんではないと思います。おそらく、あなたは行うことができます。

$html= @file_get_html($url); 
    $job_array = array(); 
    $myNumberToIterateWith = 0; 
     foreach($html->find('a') as $link) { 
     // $links=$html->find('a'); 
     $myNumberToIterateWith++; 
     if (strpos($link->href, '/job-category/') !== false) { 
      $job_array[] = $link->href . " "; 
     } 

     for ($a = 0; $a <= $myNumberToIterateWith; $a++) { 
     //$page_number = 20; 
     // for ($i = 1; $i <= $page_number; $i++) { 
     $html2 = file_get_html($link->href); 
     $response = array(); 
     foreach ($html2->find('div#mainContent') as $header) { 
     $response[] = $header->innertext . "<br/>"; 
     print_r($response); 
     } 
     } 

私はあなたが結果がなりたいのかわからないんだけど。コードで達成したいことの手がかりを提供すると便利です。

+0

@dolyanne助けてくれましたか? – Kyrre

関連する問題