2009-03-06 62 views

回答

24

你可以使用explodesplitpreg_split

explode使用固定的字符串:

$parts = explode(' ', $string); 

splitpreg_split使用正則表達式:

$parts = split(' +', $string); 
$parts = preg_split('/ +/', $string); 

一個例子,其中基於正則表達式分裂是有用:

$string = 'foo bar'; // multiple spaces 
var_dump(explode(' ', $string)); 
var_dump(split(' +', $string)); 
var_dump(preg_split('/ +/', $string)); 
+9

拆分函數在PHP 5.3中已棄用,所以請使用explode或preg_split – Dimitri 2010-07-04 16:18:50

10
$parts = explode(" ", $str); 
1

只是一個問題,但你是否試圖讓JSON不在數據中?如果是這樣,那麼你可以考慮這樣的事情:

return json_encode(explode(' ', $inputString)); 
3
print_r(str_word_count("this is a sentence", 1)); 

結果:

Array ([0] => this [1] => is [2] => a [3] => sentence) 
1

只是認爲這將會是值得一提的是,正則表達式濃湯貼,雖然會對於大多數人來說可能就足夠了 - 可能無法捕捉到所有空白的情況。舉個例子:使用下面的字符串中的批准答案正則表達式:

$sentence = "Hello      my name is peter string   splitter"; 

給我提供了下面的輸出通過的print_r:

Array 
(
    [0] => Hello 
    [1] => my 
    [2] => name 
    [3] => is 
    [4] => peter 
    [5] => string 
    [6] =>  splitter 
) 

凡爲,使用下面的正則表達式時:

preg_split('/\s+/', $sentence); 

給我提供以下的(需要的話)的輸出:

Array 
(
    [0] => Hello 
    [1] => my 
    [2] => name 
    [3] => is 
    [4] => peter 
    [5] => string 
    [6] => splitter 
) 

希望它可以幫助任何人陷入類似的障礙,併爲什麼困惑。

相關問題