我将举一个我需要做什么的基本例子,希望有人能为我指明正确的方向
我准备了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解析到字符串。
如果我们改变参数,反应就是改变。
看起来结果是HTML。在这种情况下,您将需要创建一个DOMDocument(请参阅http://us1.php.net/book.dom关于该主题的所有PHP文档),并以这种方式进行处理。
你的第一步是这样的:
$document = new DOMDocument();
$document->loadHtml( $content );
现在,您可以使用"$document"的成员函数来操作它。例如,要获取所有"td"实例,可以调用:
$elements = $document->getElementsByTagName( "td" );
(请参见http://us1.php.net/manual/en/domdocument.getelementsbytagname.php有关该功能的更多信息。)
您可以为此目的使用正则表达式。以下是php下regex的一些不错的入门指南。
-
伪的正则表达式
-
http://www.tutorialspoint.com/php/php_regular_expression.htm
-
http://coding.smashingmagazine.com/2009/06/01/essential-guide-to-regular-expressions-tools-tutorials-and-resources/
您还可以使用类似phpQuery的DOM Parser,它模仿jQuery的行为,允许您使用css选择器
使用XPath查询DOM并提取要处理的数据。有关示例,请参阅"php-xpath表解析问题"。