diff options
Diffstat (limited to 'vendor/eluceo/ical/src/Eluceo/iCal/Util/PropertyValueUtil.php')
-rw-r--r-- | vendor/eluceo/ical/src/Eluceo/iCal/Util/PropertyValueUtil.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/vendor/eluceo/ical/src/Eluceo/iCal/Util/PropertyValueUtil.php b/vendor/eluceo/ical/src/Eluceo/iCal/Util/PropertyValueUtil.php new file mode 100644 index 00000000..40538589 --- /dev/null +++ b/vendor/eluceo/ical/src/Eluceo/iCal/Util/PropertyValueUtil.php @@ -0,0 +1,40 @@ +<?php + +/* + * This file is part of the eluceo/iCal package. + * + * (c) Markus Poerschke <markus@eluceo.de> + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ + +namespace Eluceo\iCal\Util; + +class PropertyValueUtil +{ + public static function escapeValue($value) + { + $value = self::escapeValueAllowNewLine($value); + $value = str_replace("\n", '\\n', $value); + + return $value; + } + + public static function escapeValueAllowNewLine($value) + { + $value = str_replace('\\', '\\\\', $value); + $value = str_replace('"', '\\"', $value); + $value = str_replace(',', '\\,', $value); + $value = str_replace(';', '\\;', $value); + $value = str_replace(array( + "\x00", "\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", + "\x08", "\x09", /* \n*/ "\x0B", "\x0C", "\x0D", "\x0E", "\x0F", + "\x10", "\x11", "\x12", "\x13", "\x14", "\x15", "\x16", "\x17", + "\x18", "\x19", "\x1A", "\x1B", "\x1C", "\x1D", "\x1E", "\x1F", + "\x7F", + ), '', $value); + + return $value; + } +} |