从PHP中的外部页面获取文本

时间:2011-07-18 21:55:20

标签: php variables

我需要从不在我本地站点上的HTML页面中提取一段文本,然后将其解析为字符串。具体来说,是this页面的最后一列。我假设我必须将页面源复制到变量,然后设置正则表达式搜索以导航到该表行。这是最有效的方式吗?需要什么PHP功能?

2 个答案:

答案 0 :(得分:2)

  • 使用file_get_contents()(需要ini值allow_url_fopen为true)或像curl或wget这样的系统函数来刮取页面HTML
  • 运行正则表达式以匹配所需的部分。在这种情况下,您可以匹配任何<td>,因为这些值是表格单元格的第一次出现,例如preg_match("/<td.*?>(.*?)<\/td>/si",$html,$matches);(未经测试)

答案 1 :(得分:1)

如果你可以使用URL fopen,那么一个简单的file_get_contents('http://somesite.com/somepage')就足够了。有各种各样的库来进行网络抓取,这就是你要做的事情的名称。它们可能比一堆正则表达式更灵活(正则表达式很难解析复杂的HTML / XML)。