解析字符串响应http


parsing string response 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解析到字符串。

如果我们改变参数,反应就是改变。

看起来结果是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选择器

查询DOM

使用XPath查询DOM并提取要处理的数据。有关示例,请参阅"php-xpath表解析问题"。