正则表达式修复谷歌日历 ICAL 导出的换行符


Regex to repair linebreaks of Google Calendar ICAL export

我在尝试修复Google日历的ICAL导出时非常不走运。问题是长描述(字段 DESCRIPTION)将有一个包含以下字符的换行符:

[FIRST LINE] 0d 0a 20 [SECOND LINE]

所以这是一个回车符 ''r、一个新行 ' 和一个简单的空格。我在 PHP 的preg_replace中这样做 - 为什么这个不起作用?

$text = preg_replace('/'r'n's/', '', $text);

提前谢谢。

编辑:

上面的正则表达式工作正常;问题出在其他地方。背景:这是一些导入 ICAL 文件的 wordpress 插件。在读取 ICAL 文件时,一些解析只是删除了所有换行符。所以这是代表我的第 8 层问题。谢谢大家!

只是为了记录,您不是在修复谷歌iCalendar导出,而只是处理iCalendar行折叠。见 https://www.rfc-editor.org/rfc/rfc5545#section-3.1

您可能会在某个时候遇到其他iCalendar的时髦之处。例如,查看 https://www.rfc-editor.org/rfc/rfc5545#section-3.3.11

换句话说,您可能希望查看现有的iCalendar库,作为自己进行解析的替代方法。