一次通过 \r\n & \n & \r 分解字符串?

2022-08-30 13:50:26

我想按行拆分字符串,但我希望它基于所有主要使用的换行符字符:

  • \n
  • \r\n
  • \r

并返回包含每行的数组。


答案 1

您可以使用正则表达式并改用preg_split

$lines = preg_split('/\n|\r\n?/', $str);

正则表达式匹配 LF 或 CR,后跟 LF。\n|\r\n?


答案 2

preg_split('/\R/', $str);

在 PHP preg_split()、preg_match和preg_replace匹配任何类型的所有换行符。\R

http://www.pcre.org/pcre.txt

默认情况下,模式中的序列与任何 Unicode 换行符序列匹配,无论已选择什么作为行结束序列。如果指定\R

--enable-bsr-anycrlf

更改默认值,以便仅匹配 、 或 。在构建PCRE时选择的内容可以在调用库函数时被覆盖。\RCRLFCRLF


推荐