2016-02-27 35 views
0

我有串這樣的:PHP使preg_split的語言

DE:德語恩:英語-ES:西班牙語-FR:法語-RU:Pусский-JP:日本語

如何我能得到的結果與使preg_split這樣的:

德恩ES FR茹JP

我曾嘗試這樣的:

$result = preg_split("/(:(.*)\-)/", "de:Deutsch-en:English-es:Español-fr:Français-ru:Pусский-jp:日本語"); 
print_r($result); 

結果也只是第一配有一個和最後一個匹配:

陣列([0] => DE [1] => JP:日本語)

回答

2

正則表達式

:.*?(-|$) 

應該作品;嘗試類似:

"/:.*?(-|$)/" 

然後:

preg_split("/:.+?(-|$)/", "de:Deutsch-en:English-es:Español-fr:Français-ru:Pусский-jp:日本語",-1,PREG_SPLIT_NO_EMPTY); 
+0

陣列([0] => DE [1] =>烯[2] => ES [3] => FR [4] => ru [5] => jp [6] =>)最後的結果[6]是空的,也許我們可以刪除它? – webmaster

+0

使用'PREG_SPLIT_NO_EMPTY'標誌。 –

+0

很多謝謝,現在工作正常 – webmaster