2014-02-26 22 views
1

我想用一個外部網站使用捲曲的例子,所以我可以發佈一個密碼,並讓它自動轉換爲md5。下面的代碼工作正常:如何從CURL獲取價值的內容與PHP

<? 
$ch = curl_init(); 
CURL_SETOPT($ch,CURLOPT_URL,"http://www.md5online.org/md5-encrypt.html"); 
CURL_SETOPT($ch,CURLOPT_POSTFIELDS,"md5=security-dz.com"); 
CURL_SETOPT($ch,CURLOPT_RETURNTRANSFERE,TRUE); 
CURL_SETOPT($ch,CURLOPT_FOLLOWLOCATION,TRUE); 

$con = curl_exec($ch); 
curl_close($ch); 
?> 

結果是:

MD5 hash for security-dz.com is : a4f90d17ccde2c836d4264709749751b 

我怎麼能在一個空白頁只得到這個散列值a4f90d17ccde2c836d4264709749751b用正則表達式?我不想看到整個頁面,我只想將哈希置於空白頁面中。我試過爆炸,但它不適合我。

+0

你不得不看:http://www.php.net/manual/en/function.md5。 php – hindmost

+0

是的,我知道,但這只是一個例子,我想編程其他工具,這就是爲什麼我問這個問題得到一個清晰的想法 –

+0

請不要使用PHP短標記'<?',而是使用'<?php' 。 '<?'是讓您的項目無法在其他服務器上運行的快速通道。 – h2ooooooo

回答

1

這應該在你的捲曲結果匹配MD5並把它放在一個變量:

<?php 

$ch = curl_init(); 
CURL_SETOPT($ch,CURLOPT_URL,"http://www.md5online.org/md5-encrypt.html"); 
CURL_SETOPT($ch,CURLOPT_POSTFIELDS,"md5=security-dz.com"); 
CURL_SETOPT($ch,CURLOPT_RETURNTRANSFER,TRUE); 
CURL_SETOPT($ch,CURLOPT_FOLLOWLOCATION,TRUE); 

$con = curl_exec($ch); 
curl_close($ch); 

if(preg_match('/[0-9a-f]{32}/', $con, $matches)){ 
    $md5 = $matches[0]; 
} 

echo "MD5 is: ".$md5; 

?> 
+0

注意:未定義的偏移:0沒有工作兄弟,你能寫出我的整個代碼 –

+0

我剛剛編輯過..現在再試一次嗎?如果它仍然不起作用,打印出「$ con」..是否肯定返回包含MD5的數據? – BT643

+0

謝謝你的作品:) –