解析字符串响应http

时间:2013-11-28 00:49:21

标签: php json http

我将给出一个我需要做的事情的基本例子,希望有人能指出我正确的方向

我准备了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解析为字符串。

如果我们更改参数,

响应会发生变化。

3 个答案:

答案 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”。