我有一个以下格式的文本字符串 $ str =“word1 word2 word3 word4”
所以我想从字符串中分隔每个单词。两个单词由空格分隔 我怎么做。有没有内置功能呢?
答案 0 :(得分:12)
最简单的方法是使用explode
:
$words = explode(' ', $str);
但这只接受固定的分隔符。 split
preg_split
接受正则表达式,以便您的单词可以用多个空格分隔:
$words = split('\s+', $str);
// or
$words = preg_split('/\s+/', $str);
现在,您还可以使用trim
删除前导和尾随空格:
$words = preg_split('/\s+/', trim($str));
答案 1 :(得分:5)
$words = explode( ' ', $str );
答案 2 :(得分:3)
编辑:该死的,Rob更快
答案 3 :(得分:0)
请特别注意以下事实:OP的样本输入在所有单词上都带有尾随空格。因此,不仅单词之间用空格隔开,而且还有尾随空格。
要通过单个非正则表达式函数调用来克服此问题,请使用str_word_count()
和字符掩码,以允许将数字作为重要单词的一部分包含在内。
代码:(Demo)
$str = "word1 word2 word3 word4 ";
var_export(str_word_count($str, 1, '0..9'));
输出:
array (
0 => 'word1',
1 => 'word2',
2 => 'word3',
3 => 'word4',
)