Php 如何将一个句子转换为一组单词?

Php 如何将一个句子转换为一组单词?,php,arrays,string,split,Php,Arrays,String,Split,从该字符串: $input = "Some terms with spaces between"; 如何生成此阵列 $output = ['Some', 'terms', 'with', 'spaces', 'between']; 你可以用,或者 explode使用固定字符串: $parts = explode(' ', $string); 当split和preg_split使用正则表达式时: $parts = split(' +', $string); $parts = preg_spl

从该字符串:

$input = "Some terms with spaces between";
如何生成此阵列

$output = ['Some', 'terms', 'with', 'spaces', 'between'];
你可以用,或者

explode
使用固定字符串:

$parts = explode(' ', $string);
split
preg_split
使用正则表达式时:

$parts = split(' +', $string);
$parts = preg_split('/ +/', $string);
preg_split('/\s+/', $sentence);
基于正则表达式的拆分非常有用的示例:

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

这只是一个问题,但您是否正试图利用数据生成json?如果是这样,那么你可能会考虑这样的事情:

return json_encode(explode(' ', $inputString));
结果:

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

我想值得一提的是,尽管正则表达式Gumbo发布的内容很可能足以满足大多数人的需要,但它并不能涵盖所有的空白情况。示例:在以下字符串上的已批准答案中使用正则表达式:

$sentence = "Hello                       my name    is   peter string           splitter";
通过打印向我提供以下输出:

Array
(
    [0] => Hello
    [1] => my
    [2] => name
    [3] => is
    [4] => peter
    [5] => string
    [6] =>      splitter
)
其中,当使用以下正则表达式时:

$parts = split(' +', $string);
$parts = preg_split('/ +/', $string);
preg_split('/\s+/', $sentence);
为我提供了以下(期望的)输出:


希望它能帮助那些遇到类似困难并感到困惑的人。

php 5.3中不推荐使用split函数,因此请改用explode或preg_split
Array
(
    [0] => Hello
    [1] => my
    [2] => name
    [3] => is
    [4] => peter
    [5] => string
    [6] => splitter
)