我正在尝试使用PHP / Zend Framework在ini文件中存储多行电子邮件。我的字符串中有新的行字符,当我使用Zend_Config_Ini来解析ini文件时,新行字符会返回转义,因此它们会在屏幕上打印出来,而不是换行符。
示例:
// ini file
message = Hi {0},\n\nThis is a test message.\nGoodbye!
由Zend_Config_Ini解析为:
Hi {0},\\n\\nThis is a test message.\\nGoodbye!
然后在电子邮件中打印出来:
嗨约翰,\ n \ n这是一条测试信息。\ nGoodbye!
相反,我希望电子邮件看起来像这样:
嗨,约翰,
这是一条测试信息 再见!
有人知道如何实现这个目标吗?谢谢!
答案 0 :(得分:12)
如何使用双引号围绕您的值,并使用真实的换行符,如下所示:
message = "Hi {0},
This is a test message.
Goodbye!"
例如,使用这部分代码:
$config = new Zend_Config_Ini(APPLICATION_PATH . '/config/application.ini');
var_dump($config->production->testmessage);
die;
application.ini
包含此内容:
[production]
testmessage = "this is
a new
message"
我从var_dump
获得以下输出:
string(21) "this is
a new
message"
答案 1 :(得分:1)
使用php常量:PHP_EOL
message = "Hi {0}," PHP_EOL PHP_EOL "This is a test message." PHP_EOL "Goodbye!"
请注意,application.ini中的常量PHP_EOL必须出现在引号之外。否则,它将被解释为文字。