如何分解和修剪空格?

2022-08-30 06:21:06

例如,我想从这个字符串中的元素创建一个数组:

$str = 'red,     green,     blue ,orange';

我知道你可以爆炸,循环通过它们并修剪:

$arr = explode(',', $str);
foreach ($arr as $value) {
    $new_arr[] = trim($value);
}

但我觉得有一种单线方法可以解决这个问题。有什么想法吗?


答案 1

您可以使用array_map执行以下操作:

$new_arr = array_map('trim', explode(',', $str));

答案 2

改进的答案

preg_split ('/(\s*,*\s*)*,+(\s*,*\s*)*/', 'red,     green thing ,,
              ,,   blue ,orange');

结果:

Array
(
    [0] => red
    [1] => green thing
    [2] => blue
    [3] => orange
)

这:

  • 仅在逗号上拆分
  • 修剪每个项目中的空格。
  • 忽略空项目
  • 不拆分具有内部空间的项目,例如“绿色事物”

推荐