9

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これはテストメッセージです。\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 に答える