我们说我有一个"句子"由"单词"组成和空格如:
' foo bar foobar '
具体而言,单词是不包括空格的任何字符集。每个单词之间有一个或多个空格。前导和尾随空格是可选的。
我喜欢将单词和空格分隔成集合的最简单方法,例如:
[ ' ', 'foo', ' ', 'bar, ' ', 'foobar', ' ']
我尝试使用带有空格字符的explode()
作为分隔符,但当然,结果不包含空格。我尝试了preg_match()
没有成功,但这可能是因为我无法找到正确的正则表达式。
我可以按字符处理句子,但我觉得应该有一种更简单的方法。有什么建议吗?
答案 0 :(得分:1)
我尝试使用以下对我有用的作品:
$s = ' foo bar foobar ';
preg_match_all('/\s+|\w+/', $s, $matches);
print_r($matches);
在数组数组中给出空格和单词:
Array
(
[0] => Array
(
[0] =>
[1] => foo
[2] =>
[3] => bar
[4] =>
[5] => foobar
[6] =>
)
)
但这是最有效的方式吗?我会留给你判断:)