展望的iCal会议邀请说明问题(Outlook iCal meeting invitation de

2019-10-21 20:33发布

我送iCal event使用邀请php 。 在适当的方式和一切显示RVSP按钮正确显示。 但descriptioncutting downfirst line 。 例如,如果我的描述是:

The problem occurs when I have multiple lines in the description. 
If it contains the text for example I will only get in my outlook calendar 
description. The part after disappears.

唯一的第一行显示,如:

The problem occurs when I have multiple lines in the description.

如果有人能帮助我。 我已经换了行,但第一行后,将不显示。 这里是代码段。

function ical_split($preamble, $value) {
    $value = trim($value);
    $value = strip_tags($value);
    $value = preg_replace('/\n+/', ' ', $value);
    $value = preg_replace('/\s{2,}/', ' ', $value);
    $preamble_len = strlen($preamble);
    $lines = array();
    while (strlen($value)>(74-$preamble_len)) {
        $space = (74-$preamble_len);
        $mbcc = $space;
        while ($mbcc) {
            $line = mb_substr($value, 0, $mbcc);
            $oct = strlen($line);
            if ($oct > $space) {
                $mbcc -= $oct-$space;
            }
            else {
                $lines[] = $line;
                $preamble_len = 1; // Still take the tab into account
                $value = mb_substr($value, $mbcc);
                break;
            }
        }
    }
    if (!empty($value)) {
        $lines[] = $value;
    }
    return join($lines, "\\n\\t");
}

我把它叫做如下:

$meeting_notes="The problem occurs when I have multiple lines in the description. If it contains the text for example I will only get in my outlook calendar description. The part after disappears."
ical_split('DESCRIPTION:', $meeting_notes)

下面附加的IC文件的细节。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20150227T163000Z
DTEND:20150227T173000Z
DTSTAMP:20150211T094306Z
ORGANIZER;CN=Charlene Switzer:MAILTO:email_here
UID:40
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=name_here;X-NUM-GUESTS=0:MAILTO:email_here
DESCRIPTION:The problem occurs when I have multiple lines in the description. If it contains the text for example I will only get in my outlook calendar description. The part after disappears.
LOCATION:asdf asd
SEQUENCE:0
STATUS:CONFIRMED
TRANSP:OPAQUE
SUMMARY:Meeting
PRIORITY:5
CLASS:PUBLIC
BEGIN:VTIMEZONE
TZID:Eastern
END:VTIMEZONE
END:VEVENT
END:VCALENDAR

Answer 1:

花费梅德上的解释,你需要参考RFC5545指定iCalendar格式

3.1。 内容行

该对象的iCalendar被组织成文本的各行,叫内容行。 内容线通过线断裂,这是一个CRLF序列(CR字符后跟LF字符)分隔。

每行文字不得超过75个字节,不包括换行符。 长内容行应分成使用线“折叠”技术的多线表示。 即,长的线可以在任意两个字符之间通过插入紧接着单个线性空白字符(即,SPACE或HTAB)一个CRLF进行拆分。

所以,回到你的问题,像梅德的建议你应该添加一个TABSPACE您的CRLF之后,但你也应该确保你的线都没有超过75bytes更长。



Answer 2:

确保第二行以一个标签(0x9) - 这样的线将被解开正确。



文章来源: Outlook iCal meeting invitation description issue