重新声明file_get_html()的方法?

时间:2013-03-04 03:58:16

标签: php

我正在使用html解析器来抓取html,然后对其进行格式化,以便将其插入到数据库中。

require_once('simple_html_dom.php');

$url = "http://www.site.com/url/params/"
$html = file_get_html($url);

//  The team links are stored in the div.thumbHolder
foreach($html->find('.logoWall li') as $e)
{
    ob_start();
    sportPics($e, $league);
}

sportsPics()函数是这样的:

function sportsPic()
{
    require('simple_html_dom.php');

    foreach($e->find('a') as $a)
    {
//               Execute code                       
    }
}

我收到错误消息:

Fatal error: Cannot redeclare file_get_html() 

我认为将require()更改为require_once(),反之亦然。但是,事实并非如此。我还认为缓冲区可能有效,但我不太了解它们是如何工作的。

3 个答案:

答案 0 :(得分:3)

不要再这样做了 -

 require('simple_html_dom.php');

sportsPic()函数中。

更新 - 您的函数定义function sportsPic()不带参数。但看看这一行 -

sportPics($e, $league);

重新定义你的函数以获取参数。

您正在传递参数,但函数无法访问它们,因为它不带参数。因此,您的$e是非对象。

答案 1 :(得分:0)

把它放在一边的sportsPic()函数

 require('simple_html_dom.php');
你再次打电话给这个&再次在一个循环中。

答案 2 :(得分:0)

foreach($html->find('.logoWall li') as $e){
    foreach($e->find('a') as $a){
        // Execute code
    }
}