用所有空格分隔字符串的适当正则表达式是什么?两个令牌之间也可以有多个空格,最后应该忽略空格。
到目前为止我所拥有的:
<?php
$tags = "unread dev test1 ";
$tagsArr = preg_split("/ +/", $tags);
foreach ($tagsArr as $value) {
echo $value . ";";
}
这给了我以下输出:
"unread;dev;test1;;"
正如您所看到的那样,它不会忽略最后的空格,因为正确的输出应该是:
"unread;dev;test1;"
答案 0 :(得分:7)
您可以使用标记PREG_SPLIT_NO_EMPTY
忽略空条目:
$tagsArr = preg_split("/ +/", $tags, -1, PREG_SPLIT_NO_EMPTY);
答案 1 :(得分:6)
首先使用trim function来消除末尾的空白区域。
$ trimmed_tags = trim($ tags);
答案 2 :(得分:2)
最快的方式:
$tagsArr = array_filter( explode(' ', $tags) );
答案 3 :(得分:0)
看起来你希望在整个弦乐中保留空白区域,但是要从末尾移除(以防止这个最后烦人的半冒号。如果到目前为止我已经理解正确,这听起来像是修剪命令的完美用法: