從這個字符串:如何將一個句子轉換爲一組單詞?
$input = "Some terms with spaces between";
我怎麼能產生這種陣列?
$output = ['Some', 'terms', 'with', 'spaces', 'between'];
從這個字符串:如何將一個句子轉換爲一組單詞?
$input = "Some terms with spaces between";
我怎麼能產生這種陣列?
$output = ['Some', 'terms', 'with', 'spaces', 'between'];
你可以使用explode
,split
或preg_split
。
explode
使用固定的字符串:
$parts = explode(' ', $string);
而split
和preg_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));
$parts = explode(" ", $str);
只是一個問題,但你是否試圖讓JSON不在數據中?如果是這樣,那麼你可以考慮這樣的事情:
return json_encode(explode(' ', $inputString));
print_r(str_word_count("this is a sentence", 1));
結果:
Array ([0] => this [1] => is [2] => a [3] => sentence)
只是認爲這將會是值得一提的是,正則表達式濃湯貼,雖然會對於大多數人來說可能就足夠了 - 可能無法捕捉到所有空白的情況。舉個例子:使用下面的字符串中的批准答案正則表達式:
$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
)
希望它可以幫助任何人陷入類似的障礙,併爲什麼困惑。
拆分函數在PHP 5.3中已棄用,所以請使用explode或preg_split – Dimitri 2010-07-04 16:18:50