Php 在字符串中分隔空格分隔的单词

Php 在字符串中分隔空格分隔的单词,php,string,Php,String,我有一个以下格式的文本字符串 $str=“word1 word2 word3 word4” 所以我想把每个单词和字符串分开,两个单词之间用空格隔开 我该怎么做呢。是否有任何内置的功能可以做到这一点 $words = explode( ' ', $str ); 请参阅: 编辑:该死,Rob跑得更快最简单的方法是使用: 但这只接受固定分隔符。不接受正则表达式,以便您的单词可以用多个空格分隔: $words = split('\s+', $str); // or $words = preg_spli

我有一个以下格式的文本字符串 $str=“word1 word2 word3 word4”

所以我想把每个单词和字符串分开,两个单词之间用空格隔开 我该怎么做呢。是否有任何内置的功能可以做到这一点

$words = explode( ' ', $str );
请参阅:


编辑:该死,Rob跑得更快

最简单的方法是使用:

但这只接受固定分隔符。不接受正则表达式,以便您的单词可以用多个空格分隔:

$words = split('\s+', $str);
// or
$words = preg_split('/\s+/', $str);
现在,您还可以使用以下方法删除前导空格和尾随空格:


请注意,OP的示例输入在所有单词上都有一个尾随空格。因此,不仅单词之间用空格分隔,还有一个尾随空格

要通过单个非正则表达式函数调用解决此问题,请使用带有字符掩码的
str\u word\u count()
,以允许将数字作为有值字的一部分

代码:()

输出:

array (
  0 => 'word1',
  1 => 'word2',
  2 => 'word3',
  3 => 'word4',
)
$words = preg_split('/\s+/', trim($str));
$str = "word1 word2 word3 word4 ";

var_export(str_word_count($str, 1, '0..9'));
array (
  0 => 'word1',
  1 => 'word2',
  2 => 'word3',
  3 => 'word4',
)