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\');
    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来完成。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...