用空格分隔字符串

sua*_*kim 4 php regex preg-split

所有空格分隔字符串的适当正则表达式是什么?两个令牌之间也可以有多个空格,并且最后应该忽略空格.

到目前为止我所拥有的:

<?php
$tags = "unread dev     test1   ";
$tagsArr = preg_split("/ +/", $tags);
foreach ($tagsArr as $value) {
  echo $value . ";";
}
Run Code Online (Sandbox Code Playgroud)

这给了我以下输出:

"unread;dev;test1;;"
Run Code Online (Sandbox Code Playgroud)

正如您所看到的那样,它不会忽略最后的空格,因为正确的输出应该是:

"unread;dev;test1;"
Run Code Online (Sandbox Code Playgroud)

mel*_*okb 7

您可以使用标志忽略空条目PREG_SPLIT_NO_EMPTY:

$tagsArr = preg_split("/ +/", $tags, -1, PREG_SPLIT_NO_EMPTY);
Run Code Online (Sandbox Code Playgroud)

演示:http://ideone.com/1hrNJ


Zev*_*cht 6

只需首先使用修剪功能切掉最后的空白区域.

$ trimmed_tags = trim($ tags);