2011-09-02 47 views
1

我正在使用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')並將其在我的頁面上回顯出來。

如果有人能幫我解決這個問題,我將不勝感激。

謝謝!

+0

的可能重複[最佳方法來解析與PHP HTML(http://stackoverflow.com/questions/3577641/best-methods-to-parse-html-with-php) – Gordon

回答

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; 
+0

嗯,對不起,這是行不通的。我添加echo $ id;在您的代碼後,我沒有得到任何迴應 –

+0

你有沒有得到任何錯誤信息?我剛剛注意到函數getElementsById應該是getElementById(不含s)。我的壞副本,粘貼,並修改:( – ntangjee

+0

我們去,現在工作。謝謝! –