PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : vcs (Termin) Datei in PHP erzeugen: Zeilenumbrüche


mf_2
2012-05-30, 20:32:42
Hallo zusammen,

ich erzeuge via PHP eine vcs Datei, welche man dann beispielsweise in MS Outlook 2010 öffnen kann. Leider schaffe ich es nicht, in der Beschreibung des Termins Zeilenumbrüche einzufügen.
Mein Datei-Inhalt:

return "
BEGIN:VCALENDAR
VERSION:2.0
PRODID:MeinTool
METHOD:PUBLISH
BEGIN:VEVENT
UID:".uniqid()."
LOCATION:Testhausen
SUMMARY:Event 1234
DESCRIPTION:Ein Event"."\n"." Eine neue Zeile
CLASS:PUBLIC
DTSTART:20121212T130000Z
DTEND:20121213T090000Z
DTSTAMP:20120530T000000Z
END:VEVENT
END:VCALENDAR
";

Wenn ich die Description Zeile gegen

DESCRIPTION:Ein Event"."\r\n"." Eine neue Zeile

oder gar

DESCRIPTION:Ein Event"."<br />"." Eine neue Zeile

tausche ändert das nichts.
Die PHP Datei ist in UTF-8 kodiert, der Encoding Type der HTTP Response ist auch UTF-8 (habe ich über PHPs header() Funktion auch mal explizit gesetzt, keine Besserung).

Was mache ich falsch?
Es gibt dazu schon google Treffer, aber bei den meisten war das Problem dass sie \n statt \r\n genutzt hatten oder dass sie die Steuerzeichen in einfachen Anführungszeichen statt doppelten stehen hatten und das ganze von PHP daher nicht interpretiert wurde.

Habt ihr Ideen?
Die vcs lässt sich in Outlook 1a öffnen, nur die Zeilenumbrüche erscheinen nicht.

Gast
2012-05-30, 20:58:02
"\n" !== '\n'

php.net/string

Sephiroth
2012-05-30, 21:39:56
"\n" !== '\n'


jup. gemäß [URL="https://tools.ietf.org/html/rfc2445"]RFC 2445 (]php.net/string[/url) muss da wirklich '\n' an der stelle des umbruchs stehen

4.8.1.5 Description (https://tools.ietf.org/html/rfc2445#section-4.8.1.5) in Verbindung mit 4.3.11 Text (https://tools.ietf.org/html/rfc2445#section-4.3.11)
An intentional formatted text line break MUST only be included in a
"TEXT" property value by representing the line break with the
character sequence of BACKSLASH (US-ASCII decimal 92), followed by a
LATIN SMALL LETTER N (US-ASCII decimal 110) or a LATIN CAPITAL LETTER
N (US-ASCII decimal 78), that is "\n" or "\N".

mf_2
2012-05-30, 23:34:07
Super, vielen Dank euch beiden!!!!