2013-01-31 147 views
1

美好的一天!爆炸分裂字符串不正確

我使用file_get_contents從遠程地址給出答案,並爆炸創建數組提供數據。

爲此,我使用的下一個代碼:

function test(){ 
$project_key='fg54gth5k7'; 
$postdata = http_build_query(
    array(
     'code' => $project_key 
    ) 
); 
$opts = array('http' => 
    array(
     'method' => 'POST', 
     'header' => 'Content-type: application/x-www-form-urlencoded', 
     'content' => $postdata 
    ) 
); 
$context = stream_context_create($opts); 
$result = file_get_contents('http://test.com/', false, $context); 
return $result; 
} 

$res = test(); 
echo $res; 

$part=explode(' ',$res); 
var_dump($part); 

回聲$水庫返回行:

3434343 http://test.com/index.php?r=site/stepone 
&temptoken=c68c0ae1cece433fe5d6f6578cc0a9b6 OK68 OK Redirect 
http://test.com/index.php?r=site/stepone&temptoken=c68c0ae1cece433fe5d6f6578cc0a9b6 0 

的var_dump()返回的數組

array(5) { 
[0]=> string(8) "3434343" 
[1]=> string(0) "" 
[2]=> string(0) "" 
[3]=> string(110) "http://test.com/index.php?r=site/stepone 
    &temptoken=c68c0ae1cece433fe5d6f6578cc0a9b6 OK68 OK Redirect" 

[4]=> string(100) "http://test.com/index.php? 
    r=site/stepone&temptoken=c68c0ae1cece433fe5d6f6578cc0a9b6 0 " 

}

請告訴我爲什麼我得到錯誤的數組?

陣列應該在旁邊:

array(10) { 
    [0]=> string(8) "3434343" 
    [1]=> string(0) "" 
    [2]=> string(0) "" 
    [3]=> string(110) "http://test.com/index.php?r=site/stepone 
     &temptoken=c68c0ae1cece433fe5d6f6578cc0a9b6" 
    [4]=> string(4) "OK68 OK Redirect" 
    [5]=> string(2) "OK Redirect" 
    [6]=> string(8) "Redirect" 
    [7]=> string(100) "http://test.com/index.php? 
     r=site/stepone&temptoken=c68c0ae1cece433fe5d6f6578cc0a9b6" 
    [8]=> string(1) "0" 
    [9]=> string(0) "" 

請告訴我哪裏錯誤?

回答

3

他們可能不是空格字符,但標籤等

使用preg_split與分隔符[\s]+

\ s代表「空白字符」。它通常包括[\ t \ r \ n]。

Reference

+0

不是'\ S +'還不夠嗎? – Drasill

+0

是的。 :)我只是喜歡這樣看起來的樣子。 –

+0

@Cthulhu謝謝你的幫助) –