几天前,我问我如何通过cURL获取其他网站的内容。我设法让这个工作。现在我想从html中获取存储在
中的一些日期 <td class="table_day"></td>
我相信我可以使用DOMDocument或DomXPath执行此操作。 这是我试过的代码:
$dom = new DOMDocument;
$dom->loadHTML($result);
$lis = $dom->getElementsByClassName("table_day");
OR
$classname="table_day";
$finder = new DomXPath($doc);
$spaner = $finder->query("//*[contains(@class, '$classname')]");
我设法获得了一些帮助,但是当我在safari中打开我的控制台时,我收到内部服务器错误消息。我想这是因为我的localhost和/或我的网络服务器上没有启用fopen。
有没有其他方法可以使用php从html代码中获取字符串?
这是我想要获取不同日期的代码:
<tr class="table_date_row">
<td>Week: 11</td>
<td class="table_day">Maandag 09-03-2015</td>
<td class="table_day">Dinsdag 10-03-2015</td>
<td class="table_day">Woensdag 11-03-2015</td>
<td class="table_day">Donderdag 12-03-2015</td>
<td class="table_day">Vrijdag 13-03-2015</td>
<td class="table_day">Zaterdag 14-03-2015</td>
<td class="table_day">Zondag 15-03-2015</td>
<td> </td>
<td> </td>
</tr>
答案 0 :(得分:0)
(1)使用file_get_contents阅读HTML (2)用RegularExpressions / preg_match_all
解析日期$html = file_get_contents("http://whatever");
preg_match_all('|table_day">(.*)<\/td>|', $html, $result);
print_r($result[1]);
答案 1 :(得分:0)
DOMDocument并不是获取HTML的好方法,它最适合XML;因为XML通常编写得很好,而且在大多数情况下HTML代码都很混乱和不正确。
您可以使用您喜欢的任何方法读取文件,例如:cURL,file_get_contents,或者如果您使用的是linux服务器,有时可以使用wget。
从HTML结构中获取特定信息最好由RegularExpression处理。网上有很多可用的例子。