2015-12-05 78 views
1

工作假設$text = ea\r\ndad\r\n\r\nedadePHP的換行符爆炸完全不

我的第一個代碼:

$text = explode("\r\n",$text); 

我的新代碼

function splitNewLine($text) { 
    $code=preg_replace('/\n$/','',preg_replace('/^\n/','',preg_replace('/[\r\n]+/',"\n",$text))); 
    return explode("\n",$code); 
} 
$text = splitNewLine($text); 

在這兩種情況下,$text結束了這樣的:

Array 
(
    [0] => ea\r\ndad\r\n\r\nedade 
) 

我真的不知道爲什麼......這是關於它,沒有更多的代碼缺失,但它不會工作。任何想法爲什麼發生這種情況?

+1

'使preg_split( '/ \ r嗎?\ n /',$海峽, -1,PREG_SPLIT_NO_EMPTY);' –

+0

@ SverriM.Olsen不,同樣。這很奇怪AF – Fane

+0

向我們展示您正在使用的代碼。 http://sandbox.onlinephpfunctions.com/code/e013edc2b051715b03fa60b8ebc2fb108d787b63 –

回答

1

最好是使用PHP_EOL

$temp = explode(PHP_EOL, $text); 

OR

$temp = preg_split('/\r\n|\r|\n/', $text); 

希望它可以幫助你

+0

'PHP_EOL'取決於平臺。如果數據來自其他地方,那麼它可能無法按預期工作。 –