使用换行对字符串进行爆炸


Explode a string with line break

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

我希望它使用字符串内部的换行符来断开字符串。

我查了一下,我试了所有的方法,但我不能让它工作。

到目前为止我写的是:

$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...

知道为什么吗?

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

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

Edit:将缺少的分隔符添加到正则表达式和函数参数中。

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

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

…例如,使用单引号分隔字符串。

您可以使用系统依赖的EOL

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