使用curl从页面获取隐藏的输入值

时间:2011-09-02 16:42:19

标签: php curl

我正在使用curl在感谢页面上显示页面响应。代码看起来像这样:

$curl_handle=curl_init(); curl_setopt($curl_handle,CURLOPT_URL,'http://www.site.com'); curl_exec($curl_handle); curl_close($curl_handle);

“www.site.com”上方的页面中有一个隐藏的输入值,如下所示:

<input type="hidden" id="my_id" value="123" />

我需要做的就是从这个隐藏的输入中获取值('123')并在我的页面上回显它。

如果有人能帮助我,我将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用DOMDocument来解析HTML并从input元素中获取值。我没有测试这段代码,但快速代码看起来应该是这样的:

$doc = new DOMDocument();
$doc->loadHTMLFile('http://www.site.com');
$id = $doc->getElementById('my_id')->getAttribute('value');

例如,cnn.com在首页上有以下html代码。

<a id="nav-us" href="/US/" title="U.S. News Headlines Stories and Video from CNN.com">U.S.</a>

以下代码将回应“来自CNN.com的美国新闻头条故事和视频”

$doc = new DOMDocument();
$doc->loadHTMLFile('http://www.cnn.com');
$title = $doc->getElementById('nav-us')->getAttribute('title');
echo $title;