PHP:iCal创作,如何在描述中创建新行

TMB*_*B87 4 php icalendar outlook

我正在使用以下内容为php脚本创建Outlook的日历邀请.然而,\n并没有给我一个新的前景.有没有办法做到这一点?如果你不能,那似乎很傻!

  function addToCalendar($calEmail, $calSubject, $calDesc) 
  {

$calEmail = 'freelance@skinzy.org';
$description = $calDesc;
$message="BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20110718T121000Z
DTEND:20110718T131000Z
DTSTAMP:20110525T075116Z
ORGANIZER;CN=TOMS TEST:mailto:system@skinzy.org
UID:12345678
ATTENDEE;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=Yup:mailto:sample@test.com
DESCRIPTION New \n Line
LOCATION: I AM THE LOCATION
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY: TEST SUMMARY
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR";

$headers = "From: From Name <From Mail>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/calendar; method=REQUEST;\n";
$headers .= '        charset="UTF-8"';
$headers .= "\n";
$headers .= "Content-Transfer-Encoding: 7bit";


$subject = "Meeting Subject";
$subject = html_entity_decode($calSubject, ENT_QUOTES, 'UTF-8');


if(mail($calEmail, $calSubject, $message, $headers)) {

    echo "sent";
}else {
    echo "error";
}


  }
Run Code Online (Sandbox Code Playgroud)

这是DESCRIPTION New \n Line我遇到问题的部分.

任何帮助将不胜感激

汤姆

per*_*lis 9

你应该用\n替换\ r \n:

$description = str_replace("\r\n", "\\n", $description);
Run Code Online (Sandbox Code Playgroud)

另请参阅在iCal文件中编码换行符