0

我有这个代码用于从表中抓取团队名称

$url = 'http://fantasy.premierleague.com/my-leagues/303/standings/';
$html = @file_get_html($url);
//Cut out the table
$FullTable = $html->find('table[class=ismStandingsTable]',0);
//get the text from the 3rd cell in the row 
$teamname = $FullTable->find('td',2)->innertext;
echo $teamname;

这很有效..并给出了这个输出....

<a href="/entry/110291/event-history/33/">Why Always Me?</a>

但是当我添加这些行时..

$teamdetails = $teamname->find('a')->href;
echo $teamdetails;

我得到完全空白的输出。

知道为什么吗?我正在尝试将/entry/110291/event-history/33/as 作为一个变量,并将 theWhy Always Me?作为另一个变量。

4

4 回答 4

1
$teamdetails = $teamname->find('a')->href;
               ^^^^^^^^^---- never defined in your code

我也看不到您的“工作”代码可能如何工作。你也没有$teamname在那里定义,所以你永远不会得到一个空/未定义变量的输出,这是......没有输出。

于 2013-04-15T21:09:30.707 回答
1

而是这样做:

$tdhtml = DOMDocument::loadHTML($teamdetails);
$link = $tdhtml->getElementsByTagName('a');

$url = $link->item(0)->attributes->getNamedItem('href')->nodeValue;
于 2013-04-15T21:14:09.623 回答
0

您的示例中的问题是 $teamname 是一个字符串,您将其视为 simple_html_dom_node

于 2013-04-15T22:56:51.193 回答
0

Marc B 是对的,我知道您不必初始化变量,但他说您正在尝试访问所述变量的属性:

$teamdetails = $teamname->find('a')->href;
           ^^^^^^^^^---- never defined in your code

这本质上是:

$teamname = null;
$teamname->find('a')->href;
于 2013-04-15T21:25:06.913 回答