2011-03-16 47 views
6
結束線的

讓我們說我有一個字符串「BL-BL \ nblbl等」。我知道我應該從位置$ pos開始。我必須選擇一切行列結束。我不能用SUBSTR($字符串,$ POS,strpos($字符串, 「\ n」,$ POS)),因爲蘋果不使用\ n作爲分隔符。從位置選擇字符串

我該怎麼辦?

感謝

+0

然後使用\ r .... – 2011-03-16 23:00:10

+0

OS X不使用'\ N'作爲換行符。只有系統9和早期使用'\ r'相反,如果你確實有系統9的用戶(或者是在系統9自己),那麼你有更大的問題擔心。 – Charles 2011-03-16 23:01:37

+0

字符串的來源是什麼(意思是用戶提供或系統生成等)? – webbiedave 2011-03-16 23:01:42

回答

2

通過它取代\ r \ n或\ r與\ n個第一函數傳遞字符串。除非你真的想保存平臺特定的行結尾,否則這是值得的。

FWIW Mac的使用\ n反正現在。

7

你可以嘗試PHP_EOL常數:

substr($string, $pos, strpos($string, PHP_EOL, $pos)); 

它包含了腳本運行的操作系統的結束行字符序列。

1

如果您需要處理字符串中的每個單獨的線,你可以隨時將字符串分割成一個陣列。您可以使用preg_split()以這種方式來執行此操作,該方式將識別多個系統行尾字符。

$lines = preg_split("/\r\n|\n|\r/", $string); 
14

它應該是:

substr($string, $pos, (strpos($string, PHP_EOL, $pos)) - $pos);