ICS文件 - 使用PHP,想要插入新行字符以将描述分解为段落

时间:2013-12-02 19:24:34

标签: php icalendar

我正在使用PHP动态创建一个ICS文件,除了一个障碍之外“主要”工作:

在ICS文件的DESCRIPTION区域中,我想连接几个数据库字段并将它们分成各自的段落,这样当用户打开日历条目时,它们并不是全部连接成一个字符串。

我的问题是,如果我尝试使用新行字符连接这些字段,则“\ n”不会显示为DESCRIPTION内容的一部分。我打开了一个有效的ICS文件来完成这个任务,文件显示:

说明:1。单击此链接以加入网络研讨会:\ n \ n https://www1.site.com/join/444/444444 \ n \ n \ n2。选择以下音频选项之一:\ n \ n

“\ n”是文件内容的一部分。但是,如果我尝试生成它,它会将\ n视为不是内容,而是ICS行的结尾:

说明:第1行

LINE2

因此ICS无法读取且无效。

我尝试了很多组合,但似乎无法实现这一点。似乎应该很简单,但事实并非如此。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

icalendar DESCRIPTION字段使用两个单独的字符,'\'后跟'n'表示换行符。如果您正在使用这些字符编写PHP string literal,则可以使用带单引号的字符串,只需编写\n,或使用双引号并转义反斜杠,以便\n不是'变成换行符。例如:

$description = 'This is a description\nwith a newline';
// Or
$description = "This is a description\\nwith a newline";

你最终会如何做到这一点取决于我们没见过的源代码。