iCalendar TEXT数据类型-使用PHP准备值

|| 我正在提供应用程序事件的下载链接。我缺少的一件事情是如何为
TEXT
数据类型准备值。具体来说,以
DESCRIPTION
属性结尾的值具有HTML。我已经下载了几个与iCalendar RFC相关的PHP项目,但是我没有找到准备ѭ​​0ѭ值的良好代码段。 我找到了一个博客条目,该条目仅在Google Cache中具有换行符,并且我注意到从Outlook 2010生成ICS文件具有换行符,但是我现在暂时不讨论它,如果有,有一个问题。 我还决定增加对不同行尾的支持:
/**
 * Prepare data for a TEXT field
 *
 * @param string $text
 * @return string
 */
public static function prepareText($text)
{
    $search = array(\'\\\\\', \';\', \',\', \"\\r\\n\", \"\\n\", \"\\r\");
    $replace = array(\'\\\\\\\\\', \'\\;\', \'\\,\', \'\\n\', \'\\n\', \'\\n\');
    return str_replace($search, $replace, $text);
}
    
已邀请:
        请注意,单引号和双引号混合使用换行符(双引号解释换行符,单引号则不行)
$text = \'Hello, World!
This is in a new line; after a semicolon/comma\';
$search = array(\'/\',\';\',\',\',\"\\N\",\"\\n\");
$replace = array(\'\\/\',\'\\;\',\'\\,\',\'\\n\',\'\\n\');
$description = str_replace($search,$replace,$text);

print_r($description);
当然,可以使用可能更简单的RegExp来完成。     

要回复问题请先登录注册