PHP explode函数包含1个以上的空格,PHP,EXPLODE,WHITESPACES

时间:2015-08-06 02:28:23

标签: php arrays whitespace explode

我有一个带有几个单词的数组,我试图仅在一个空白处爆炸它,但是当它因某些原因爆炸时它的计数空白也是如此。我该如何阻止它?

<?php

$string = "I'm just            so peachy, right now";
$string = explode(" ", $string);

$count = count($string);
$tempCount = 0;

while ($tempCount < $count) {
echo $string[$tempCount]."$tempCount<br>";
$tempCount++;
}

?>

实际输出:

I'm0
just1
2
3
4
5
6
7
8
9
10
11
12
so13
peachy,14
right15
now16

预期输出:

I'm0
just1
so2
peachy,3
right4
now5

1 个答案:

答案 0 :(得分:4)

使用preg_split,http://php.net/manual/en/function.preg-split.php,它将使用正则表达式,因此您可以告诉它将所有连续的空格保持为一个。

$string = 'I\'m just            so peachy, right now';
$spaced = preg_split('~\h+~', $string);
print_r($spaced);

输出:

Array
(
    [0] => I'm
    [1] => just
    [2] => so
    [3] => peachy,
    [4] => right
    [5] => now
)

PHP演示:http://3v4l.org/a5cg5
正则表达式演示:https://regex101.com/r/vO1qU0/1