2011-03-09 146 views
2

我有一個數據的字符串是這樣的:PHP爆炸排除

8487613 1298296324 1a6ad892e547da07f35221fdfe6f70dd 「| MODO |」 178.211.28.126 「戰地叛逆連隊2」, 「公元前的東西,並命名爲」 「衝突(AIMBOT)#50246」

在我的PHP我使用爆炸這樣的:

$more_info = explode(' ', $banned_players); 

但它在空間分離「戰地壞公司2」,我不希望這樣的事情發生。

那麼有沒有什麼辦法用空格爆炸,但不能在「」字符之間爆炸?

回答

4

嘗試。。它適用於製表符或逗號分隔值,但它工作得很好,只是空間分隔符:

print_r(str_getcsv('8487613 1298296324 1a6ad892e547da07f35221fdfe6f70dd "|MoDo|" 178.211.28.126 "Battlefield Bad Company 2"', " ")); 

結果:

Array 
(
    [0] => 8487613 
    [1] => 1298296324 
    [2] => 1a6ad892e547da07f35221fdfe6f70dd 
    [3] => |MoDo| 
    [4] => 178.211.28.126 
    [5] => Battlefield Bad Company 2 
    [6] => BC Stuff and name 
    [7] => Violation (AIMBOT) #50246 
) 
+0

這正是我所需要的,我會盡快測試代碼。 – Karlo 2011-03-09 18:49:09

+0

或者如果<5.3.0,則爲'fgetcsv','fseek'和'php:// temp'。 – netcoder 2011-03-09 19:08:06

0

爆「字,你就會有3個數組,然後爆炸第一陣列,並用空格字符最後一個數組,並使用array_push()array_merge()合併他們。

1

使用preg_split,而不是

+0

嗯,我不是正則表達式,我真的好想要快速完成此代碼。 ^^ – Karlo 2011-03-09 18:47:54

0

你可以使用str_getcsv一個空格做爲分隔

注意:這僅適用,如果你只有一個字符分隔符