我正在尝试使用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...
任何想法为什么?
答案 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]);