用逗号和新行拆分php中的字符串

时间:2014-09-17 00:13:48

标签: php regex string

我试图在PHP中拆分字符串。我应该使用两个分隔符来分割字符串:新行和逗号。我的代码是:

$array = preg_split("/\n|,/", $str)

但是我使用逗号进行字符串拆分,但不使用\ n。这是为什么?另外,我是否必须考虑“\ r \ n”符号?

1 个答案:

答案 0 :(得分:8)

我可以想到发生这种情况的两个可能原因。

1.您使用的是单引号字符串:

    $array = preg_split("/\n|,/", 'foo,bar\nbaz');
    print_r($array);

    Array
    (
        [0] => foo
        [1] => bar\nbaz
    )

如果是,请使用双引号"代替......

    $array = preg_split("/\n|,/", "foo,bar\nbaz");
    print_r($array);

    Array
    (
        [0] => foo
        [1] => bar
        [2] => baz
    )

2.您有多个换行符序列,如果是,我建议您使用\R。这匹配ASCII范围内的任何Unicode换行序列。

    $array = preg_split('/\R|,/', "foo,bar\nbaz\r\nquz");
    print_r($array);

    Array
    (
        [0] => foo
        [1] => bar
        [2] => baz
        [3] => quz
    )
相关问题