9

我正在尝试使用 PHP/Zend 框架将多行电子邮件存储在 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这是一条测试消息。\n再见!

相反,我希望电子邮件看起来像这样:

你好,约翰,

这是一条测试消息。
再见!

有谁知道如何实现这一目标?谢谢!

4

2 回答 2

14

如何使用双引号将您的值括起来,并使用真正的换行符,如下所示:

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"
于 2010-03-19T19:45:44.937 回答
2

使用 php 常量:PHP_EOL

message = "Hi {0}," PHP_EOL PHP_EOL "This is a test message." PHP_EOL "Goodbye!"

请注意,application.ini 中的常量 PHP_EOL 必须出现在引号之外。否则它将被解释为文字。

于 2014-09-30T13:59:12.173 回答