2011-04-07 58 views
1

我正在使用cURL來獲取cookie,並在Cookie中有一個看起來像這樣的密鑰23da0280fceca40a8601a13f8659a47001417692我需要解析密鑰,但我不認爲dom解析是通向去可能是錯的。什麼可能是得到這個字符串的最好方法?到目前爲止,我有以下代碼使用php解析文本文件中的字符串

$Cookie_Key = file_get_contents ('cURL_Cookie.txt'); 
echo $Cookie_Key; 

在文本文件中有以下行

www.box.com FALSE / FALSE 145676961 key_57520 23da0280fceca40a8601a13f8659a47001417692 

我需要獲得最後一部分23da0280fceca40a8601a13f8659a47001417692

+1

解析它如何?你需要哪些零件? – Khez 2011-04-07 19:00:50

+0

該文件還有什麼? – 2011-04-07 19:03:06

+0

我添加了什麼文本文件 – jennifer 2011-04-07 19:04:01

回答

0

如果您確信該格式永遠是一樣的 - 像這樣簡單:

$string = "www.box.com FALSE / FALSE 145676961 key_57520 23da0280fceca40a8601a13f8659a47001417692"; 

$key = array_pop(split(' ', $string)); 

echo $key; 

應該d o

0
// File contents: 
// www.box.com FALSE / FALSE 145676961 key_57520 23da0280fceca40a8601a13f8659a47001417692 

$Cookie_Key = file_get_contents ('cURL_Cookie.txt'); 
$words = preg_split("/\s+/", $Cookie_Key); 

// It's the 6th item in the array. 
$key = $words[5]; 
0

我想你會喜歡這一個,簡單而整潔! :)

$Cookie_Key = preg_replace('/\s\s+/', ' ', $Cookie_Key); 
preg_match("/key_57520 (?P<ckey>[a-zA-Z0-9]+)/", $Cookie_Key, $matches); 
$Cookie_Key_Value = $matches[ckey]; 
+0

如果字符串key_57520改變會發生什麼?從我在問題中看到的情況來看,唯一確定的是關鍵是最後一次,文件內容每次都會改變。另外,爲什麼在簡單的字符串可以使用時打開正則表達式引擎呢? – Nikoloff 2011-04-07 21:05:11