2012-01-03 5 views
2

PHPのページのソースコードを読んでいます。そのページには隠し入力フィールド<input type="hidden" name="session_id" value=があります。Webページのソースを読み込んでタグから属性を取得するPHPコード

$url = 'URL HERE'; 
$needle = '<input type="hidden" name="session_id" value='; 
$contents = file_get_contents($url); 
if(strpos($contents, $needle)!== false) { 
echo 'found'; 
} else { 
echo 'not found'; 
} 

私はその隠されたフィールド値を読んでいます。私はPHPのネイティブのDOMDocument延長に見てね

答えて

7

断然これを行うための最善の方法は、PHPのDOM拡張です。

$dom = new DOMDocument; 
$dom->loadHtmlFile('your URL'); 

$xpath = new DOMXPath($dom); 

$elements = $xpath->query('//input[@name="session_id"]'); 
if ($elements->length) { 
    echo "found: ", $elements->item(0)->getAttribute('value'); 
} else { 
    echo "not found"; 
} 
+0

+1 '$ xpath-> query' – anubhava

+0

+1 xpath解決策のために私自身の答えを削除しました:-) – favo

+0

@imiこれは有効なHTML文書ではありません。あなたは私が[この回答では]記述している同じテクニック(http://stackoverflow.com/a/6090728/417562)で警告を抑制する必要があります。 – lonesomeday

関連する問題