2011-03-16 72 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);