从这个字符串:如何将一个句子转换为一组单词?
$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