使用或不使用空格分隔逗号分隔值

时间:2016-02-08 04:38:03

标签: php

表单上的输入字段接受逗号分隔值列表。

如果用户在每个逗号之后输入带空格的值,我怎样才能将这些值转换为数组:one, two, three或没有one,two,three

基本上我想要结合起来 $myArray = explode(', ', $myString);$myArray = explode(',', $myString);

3 个答案:

答案 0 :(得分:3)

您必须尝试以下代码:

$myString = "one, two, three";
$myArray = explode(',', $myString);
$trimmed_myArray = array_map('trim',$myArray);
print_r($trimmed_myArray);

答案 1 :(得分:1)

据我了解,您希望在爆炸后修剪值。您可以使用explode& trim& array_map

$input= 'one, two, three';
$v = explode(',', $input);

$v = array_map('trim', $v);
var_dump($v);

<强>输出

array(3) {
  [0]=>
  string(3) "one"
  [1]=>
  string(3) "two"
  [2]=>
  string(5) "three"
}

答案 2 :(得分:1)

当字符串中的值分隔符变量时,preg_split()会提供一个简单直接的过程。

代码:(Demo

$mystring='one,two,three,four, five, six, seven';
var_export(preg_split('/, ?/',$mystring));

输出:

array (
  0 => 'one',
  1 => 'two',
  2 => 'three',
  3 => 'four',
  4 => 'five',
  5 => 'six',
  6 => 'seven',
)

这是一个干净的解决方案,因为它不需要任何字符串准备或后拆分迭代“扫荡”。一个函数调用可以完成所有操作。

该模式仅在逗号后面跟一个可选空格爆炸(?表示前一个空格零或一次出现)。