使用换行符分解字符串

时间:2013-06-08 21:32:03

标签: php arrays variables explode

我正在尝试使用explode函数将字符串分解为数组。

我希望它使用字符串中找到的换行来打破字符串。

我查了一下,我尝试了所有方法,但我无法让它发挥作用。

这是我到目前为止所做的:

$r = explode("\r\n" , $roster[0]);

但是当我var_dump变量时,我得到以下内容:

array (size=1)
  0 => string '\r\n                         ( G  A  Sh Hi Ga Ta PIM, +\/-  Icetime Rating)\r\nR Danny Kristo            1  0  2  0  0  0    0    1    7.00    7\r\nR Brian Gionta            1  1  5  1  1  0    0    0   19.20    8\r\nR Steve Quailer...

任何想法为什么?

3 个答案:

答案 0 :(得分:15)

您可以尝试使用正则表达式拆分字符串。换行符有一个类:

$r = preg_split('/\R/', $string);

编辑:在正则表达式和参数函数中添加缺少的分隔符。

答案 1 :(得分:6)

问题是原始文本中的\r\n不是行符号的结尾 - 它只是字面上的'反斜杠-r-反斜杠-n'序列。因此,您需要考虑到这一点:

$r = explode('\r\n', $roster[0]);

...即,使用单引号来分隔字符串。

答案 2 :(得分:4)

您可以使用系统相关的EOL

 $r = explode(PHP_EOL, $roster[0]);