Я использую следующее, чтобы создать приглашение календаря для Outlook для php-скрипта. Однако \ n не дает мне новой строки в Outlook. Есть ли способ сделать это? Кажется глупым, если вы не можете!
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"; } }
Это DESCRIPTION New \n Line
меня проблемы.
Любая помощь будет оценена
Том
Вы должны заменить \ r \ n \ n:
$description = str_replace("\r\n", "\\n", $description);
См. Также Кодирование новых строк в файлах iCal
В Windows вы создаете новую строку с помощью \r\n
.
Чтобы подробнее разобраться:
\r
в ASCII – это CR
стоящий для «Возврат каретки»
\n
в ASCII есть LF
стоящий для «Line Feed»
Для Windows требуется сочетание обоих, в то время как Linux-системы просто используют \n
.
На странице новой страницы Википедии есть тонны информации (возможно, более того, о которой вам было бы интересно узнать).
Вы можете использовать =0D=0A
для новой строки с соответствующей кодировкой:
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:This is the first line.=0D=0AThe Second line.=0D=0AThe third line.
или альтернативный подход (с использованием base64):
DESCRIPTION;FMTTYPE=text/html;ENCODING=BASE64:PHA+Tm9ybWFsIDAgZmFsc2UgZmFsc2UgZmFsc2UgTWljcm9zb2Z0SW50ZXJuZXRFeHBsb3JlcjQ8L3A+DQo8YnIgY2xhc3M9ImNsZWFyIiAvPg==