匹配 \r\n 的所有实例,除了发生在文档末尾之前的实例

Match all instances of \r\n, except that occurring before the very end of the document

使用 preg_replace,我需要定义正则表达式 PATTERN 以准确匹配换行序列 \r\n 的所有实例,除了出现在文本末尾的那个。

preg_replace(PATTERN,'"\r\n"',$text)

在这种情况下如何指定 PATTERN?

为行尾添加否定前瞻:

preg_replace('/\r\n(?!$)/','"\r\n"',$text)

Demo on 3v4l.org

请注意,如果您没有特定要求匹配\r\n,您可以使用\R,它将匹配任何换行序列。