2017-03-28 3 views
0

ich bei einem Open-Source-PHP-Programm suchen, das die folgende Transformation führt doppelte Anführungszeichen in String-Werten zu ersetzen:Verwendung von wörtlich 'dquote' string in icalendar Werten

$text = str_replace("\"", "DQUOTE", $text); 

Zum Beispiel der String Call me "foo". nach dieser Transformation würde wie so in einer icalendar BESCHREIBUNG Feld dargestellt werden:

DESCRIPTION:Call me DQUOTEfooDQUOTE.

Meine Lektüre von verschiedener Online-Dokumentation (http://www.ietf.org/rfc/rfc2445.txt und ihren Zusammenfassungen in http://www.kanzaki.com/docs/ical/) zeigt, dass dies falsch ist, und die korrekte Darstellung sollte

sein
DESCRIPTION:Call me \"foo\".

Was ist die korrekte Darstellung?

+0

Verwenden Sie ein anderes Programm. Dieser scheint den RFC falsch interpretiert zu haben. Der RFC sagt tatsächlich 'DQUOTE =% x22' – apokryfos

+0

Möglicherweise ersetzt die Bibliothek, die Sie betrachten, eine andere später? – mkaatman

+0

Da es Open Source ist, kann ich einen Patch einreichen, sobald ich mich über die richtige Interpretation im Klaren bin. – TwoMice

Antwort

0

Die Spezifikation bei https://tools.ietf.org/html/rfc2445#section-4.3.11, dass durchaus nicht entgangen sein müssen doppelte und einfache Anführungszeichen gibt an, wie das Beispiel für das Feld BESCHREIBUNG tut (https://tools.ietf.org/html/rfc2445#section-4.8.1.5), so dass die korrekte Darstellung

DESCRIPTION:Call me "foo".

BTW, in der sein würde, Zeit, seit diese Frage gestellt wurde, hat das betroffene Open-Source-Projekt dieses Problem behoben: https://issues.civicrm.org/jira/browse/CRM-20350

Verwandte Themen