0

我有一组关键字,我喜欢通过简单的 html dom 解析并在同一页面和同时检索所有关键字的报废数据。问题是简单的 html dom 只为列表中的最终关键字而不是其他关键字检索数据。如果有人能帮我解决这个问题,我真的很感激。这是我的代码:

<?php

$keywords = "math,chemistry,science";

$keywords = explode(',', $keywords);

foreach($keywords as $keyword){
echo $keyword.'<br>';
}

include("simple_html_dom.php");

$html = file_get_html('http://www.tutorvista.com/search/'.$keyword);

$i = 1;
foreach($html->find('div[style=padding:20px; border-top:thin solid #DDDDDD; border-bottom:none;]') as $element) {
foreach($element->find('div[class=entry-abstract]') as $div) 
{
    $title[$i] = $div->plaintext.'<br><br>';
}
   $i++;
}
print_r($title);

?>
4

2 回答 2

0

在第一次 foreach 之后包含所有代码:

foreach($keywords as $keyword){
echo $keyword.'<br>';

//include other code here 

//..
print_r($title);
}
于 2013-08-11T11:12:44.660 回答
0

$keyword 仅具有 foreach 循环处理的最后一个元素的值。每个关键字的操作必须进入 foreach 循环:

<?php
include("simple_html_dom.php");
$keywords = "math,chemistry,science";

$keywords = explode(',', $keywords);

foreach($keywords as $keyword)
{
    echo $keyword.'<br>';

    $html = file_get_html('http://www.tutorvista.com/search/'.$keyword);

    $i = 1;
    foreach($html->find('div[style=padding:20px; border-top:thin solid #DDDDDD; border-bottom:none;]') as $element)
    {
        foreach($element->find('div[class=entry-abstract]') as $div) 
        {
            $title[$i] = $div->plaintext.'<br><br>';
        }
        $i++;
    }
    print_r($title);
}

?>
于 2013-08-11T11:25:30.723 回答