如何转义 .ini 文件中的换行符,以便 Zend_Config_Ini 按字面意思读取它?

发布于 2024-08-26 05:47:44 字数 534 浏览 10 评论 0原文

我正在尝试使用 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!

然后在电子邮件中打印为:

Hi John,\n\nThis is a test message.\nGoodbye!

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

嗨,约翰,

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

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

I am trying to store a multiple line e-mail in an ini file using PHP/Zend Framework. My string has new lines characters in it, and when I use Zend_Config_Ini to parse the ini file, the new line characters come back escaped, so they are printed out on screen, instead of a line feed.

Example:

// ini file
message = Hi {0},\n\nThis is a test message.\nGoodbye!

is parsed by Zend_Config_Ini as:

Hi {0},\\n\\nThis is a test message.\\nGoodbye!

which then is printed out in the email as:

Hi John,\n\nThis is a test message.\nGoodbye!

Instead I want the e-mail to look like this:

Hi John,

This is a test message.
Goodbye!

Does anybody know how to achieve this? Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我的痛♀有谁懂 2024-09-02 05:47:44

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

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"

What about using double-quotes arround your values, and using real newlines, like this :

message = "Hi {0},

This is a test message.
Goodbye!"

As an example, using this portion of code :

$config = new Zend_Config_Ini(APPLICATION_PATH . '/config/application.ini');
var_dump($config->production->testmessage);
die;

With application.ini containing this :

[production]

testmessage = "this is
a new
message"

I get the following output from my var_dump :

string(21) "this is
a new
message"
蓝戈者 2024-09-02 05:47:44

使用 php 常量:PHP_EOL

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

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

Use php constant: PHP_EOL

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

Note that the constant PHP_EOL in application.ini must appear outside of the quotation marks. Otherwise it'll be interpreted as a literal.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文