preg_split的输出错误

时间:2015-02-25 17:18:32

标签: php regex

我有这个输入

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    
}

前面的引号是问题所在。当我稍后使用数组工作时,这会弄得一团糟。

1 个答案:

答案 0 :(得分:0)

使用trim()函数结合preg_split解决了问题。有意想不到的空白处理空间。所以最好的选择是。

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