我将给出一个我需要做的事情的基本例子,希望有人能指出我正确的方向
我准备了HTTP GET请求所需的URL,以便从oncf.ma
获取数据(通过简单地键入站名来在目的地之间训练)我为此目的使用了cURL,但响应是字符串。这是我使用的代码,
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,'www.oncf.ma/Pages/ResultatsHoraire.aspx?depart=BERRECHID&arrivee=BENGUERIR&CodeRD=0093&CodeGD=00183&CodeRA=0093&CodeGA=00120&heure=0000&date=19/11/2013');
$content = curl_exec($ch);
echo $content;
我需要做的是,我不知道该怎么做,是如何操纵字符串来获取数据需求而不是所有html解析为字符串。
如果我们更改参数,响应会发生变化。
答案 0 :(得分:2)
看起来结果是HTML。在这种情况下,您需要创建一个DOMDocument(有关该主题的所有PHP文档,请参阅http://us1.php.net/book.dom)并以此方式处理。
您的第一步将如下所示:
$document = new DOMDocument();
$document->loadHtml( $content );
现在,您可以使用其成员函数操作“$ document”。例如,要获取所有“td”实例,可以调用:
$elements = $document->getElementsByTagName( "td" );
(有关该功能的更多信息,请参阅http://us1.php.net/manual/en/domdocument.getelementsbytagname.php。)
答案 1 :(得分:0)
您可以使用 Regular Expressions 来实现此目的。以下是一些很好的入门指南,适用于php下的正则表达式。
您还可以使用像phpQuery这样的DOM解析器来模仿 jQuery 的行为,方法是让您使用 css选择器来查询DOM
答案 2 :(得分:0)
使用XPath查询DOM并提取要处理的数据。有关示例,请参阅“php xpath table parsing question”。