2016-12-24 46 views
0

我試圖解析html內容,存儲在名稱標記中的值。PHP解析輸入內容 - >名稱值

我現在嘗試如下所示:

function getAuthToken(){ 
    $html = file_get_contents('url'); 
    $values = array(); 

    foreach($html->find('input') as $element) 
    { 
     $values[$element->name] = $element->value; 
    } 

    print_r($values); 
} 

我在做什麼錯?

+1

你爲什麼不嘗試的DomDocument? http://stackoverflow.com/a/5045619/4802649 – Phiter

+2

據我所知'file_get_contents'返回一個字符串。 – Federkun

回答

0

$ html代碼中的對象不是一個字符串(file_get_contents的結果)。

$對象 - >名稱是類對象

$陣列[關鍵]是一個數組元素

這些都不在你的代碼會做你想要實現與的file_get_contents的結果是什麼,因爲你的$ html var是一個字符串,你需要做一些字符串解析來獲得想要的結果。

您可以檢查有:

echo gettype($html); 

你也可以呼應了$ HTML找出字符串的樣子給你什麼,你正在使用,例如更好的主意,是有一個共同的特點,就是你可以用一個數組來處理你的foreach,從而使其刺痛。

例如:

$newarray = explode('&', $html); 

foreach ($newarray as $key => $value) { 
//do your thing 
}