preg_split的输出错误


Wrong output of preg_split

我有这个输入

foo     par1, par2
foo1    par3, par4:6
foo2    par7:00ff00

我需要用换行符、制表符、逗号和冒号来分隔每一行。每一个都在代码的不同部分。我喜欢这个

$output = preg_split("/'n|'r /", $input_string,-1,PREG_SPLIT_NO_EMPTY); // new lines
$output2 = preg_split( "/'t|'v /", $output[$i] ); // tabs in loop, thats why $i
$output3 = preg_split( "/[:,]+/", $different_output2); // Last divide string contains no foo parts of string

期望输出:

 array(2){
    [0]=>
    string(4) "par1"
    [1]=>
    string(4) "par2"
}

相反,输出是这样的

 array(2){
    [0]=>
    string(4) "par1"
    [1]=>
  " string(4) "par2    
}

前面的引号就是问题所在。当我稍后处理数组时,这会造成混乱。

使用trim()函数结合preg_split解决问题。有出乎意料的空白需要处理。所以最好的选择是。

$output3 = preg_split( "/[:,]+/", trim($different_output2));